<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>nandps: Nandps_v2_2</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">nandps
   </div>
   <div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">Nandps_v2_2</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_nand_ps___config.html">XNandPs_Config</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_nand_ps___geometry.html">XNandPs_Geometry</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_nand_ps___features.html">XNandPs_Features</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_nand_ps___bbt_desc.html">XNandPs_BbtDesc</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_nand_ps___bad_block_pattern.html">XNandPs_BadBlockPattern</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_nand_ps___ecc_config.html">XNandPs_EccConfig</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_nand_ps_tag.html">XNandPsTag</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_nand_ps___command_format.html">XNandPs_CommandFormat</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____attribute____.html">__attribute__</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga34f4ef3f29daef5f33c6fef869b44e20"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga34f4ef3f29daef5f33c6fef869b44e20">OneHot</a>(Value)&#160;&#160;&#160;(!((Value) &amp; (Value - 1)))</td></tr>
<tr class="separator:ga34f4ef3f29daef5f33c6fef869b44e20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga820a56f0443165ef4e45daafb8bfb604"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga820a56f0443165ef4e45daafb8bfb604">XNandPs_BbtBlockShift</a>(Block)&#160;&#160;&#160;((Block * 2) &amp; <a class="el" href="group__nandps__v2__2.html#gaf7c432bad01dd727f91f1f0435f92cac">XNANDPS_BLOCK_SHIFT_MASK</a>)</td></tr>
<tr class="separator:ga820a56f0443165ef4e45daafb8bfb604"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaf0def4ad29325b821b3fd4127740dfbe"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_x_nand_ps_tag.html">XNandPsTag</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a></td></tr>
<tr class="separator:gaf0def4ad29325b821b3fd4127740dfbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gae2862ccd7e9180b843d9e73e2a8c7e7b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr, <a class="el" href="struct_x_nand_ps___command_format.html">XNandPs_CommandFormat</a> *Command, int Page, int Column)</td></tr>
<tr class="separator:gae2862ccd7e9180b843d9e73e2a8c7e7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga92acb0aedbfa7e76759062d70a2c4a67"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr)</td></tr>
<tr class="separator:ga92acb0aedbfa7e76759062d70a2c4a67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga454c0738c0ffe28c49ba8fced47e8d9c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga454c0738c0ffe28c49ba8fced47e8d9c">XNandPs_ScanBbt</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr)</td></tr>
<tr class="separator:ga454c0738c0ffe28c49ba8fced47e8d9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f3a46694f4b3c4baffca71e6fcfebab"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga7f3a46694f4b3c4baffca71e6fcfebab">Onfi_CmdReadStatus</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr)</td></tr>
<tr class="separator:ga7f3a46694f4b3c4baffca71e6fcfebab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb42515d1fa541b8ac5e785d1fb7eefd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#gacb42515d1fa541b8ac5e785d1fb7eefd">Onfi_NandInit</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr)</td></tr>
<tr class="separator:gacb42515d1fa541b8ac5e785d1fb7eefd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaddb9f847fae34f6d137f591375a7c962"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#gaddb9f847fae34f6d137f591375a7c962">XNandPs_CfgInitialize</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr, <a class="el" href="struct_x_nand_ps___config.html">XNandPs_Config</a> *ConfigPtr, u32 SmcBaseAddr, u32 FlashBaseAddr)</td></tr>
<tr class="separator:gaddb9f847fae34f6d137f591375a7c962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e72425d265074f1c2f8c66edfd22857"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga8e72425d265074f1c2f8c66edfd22857">XNandPs_Read</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr, u64 Offset, u32 Length, void *DestPtr, u8 *UserSparePtr)</td></tr>
<tr class="separator:ga8e72425d265074f1c2f8c66edfd22857"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga605bd783f065806f1d1f602f88128f9b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr, u64 Offset, u32 Length, void *DestPtr, u8 *UserSparePtr)</td></tr>
<tr class="separator:ga605bd783f065806f1d1f602f88128f9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebab330d0fd9efef74c26a50b5829d9f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#gaebab330d0fd9efef74c26a50b5829d9f">XNandPs_Write</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr, u64 Offset, u32 Length, void *SrcPtr, u8 *UserSparePtr)</td></tr>
<tr class="separator:gaebab330d0fd9efef74c26a50b5829d9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ecd5bb0fc73b3011ee0ba500e0161fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga8ecd5bb0fc73b3011ee0ba500e0161fe">XNandPs_WriteCache</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr, u64 Offset, u32 Length, void *SrcPtr, u8 *UserSparePtr)</td></tr>
<tr class="separator:ga8ecd5bb0fc73b3011ee0ba500e0161fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9857df5e1359875e429f66e46ca5a86"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr, u32 Page, u8 *Buf)</td></tr>
<tr class="separator:gaf9857df5e1359875e429f66e46ca5a86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa987d756af43c965a6439f077a4ce158"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#gaa987d756af43c965a6439f077a4ce158">XNandPs_WriteSpareBytes</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr, u32 Page, u8 *Buf)</td></tr>
<tr class="separator:gaa987d756af43c965a6439f077a4ce158"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22b4e2bc1af7e4bfecd4428c25a77bb8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga22b4e2bc1af7e4bfecd4428c25a77bb8">XNandPs_EraseBlock</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr, u32 BlockNum)</td></tr>
<tr class="separator:ga22b4e2bc1af7e4bfecd4428c25a77bb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad64edb80b795bb18ecceb9428b458903"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_nand_ps___config.html">XNandPs_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#gad64edb80b795bb18ecceb9428b458903">XNandPs_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="separator:gad64edb80b795bb18ecceb9428b458903"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5744d2e6e03eb2b815771cf660ab2e11"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga5744d2e6e03eb2b815771cf660ab2e11">XNandPs_IsBlockBad</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr, u32 Block)</td></tr>
<tr class="separator:ga5744d2e6e03eb2b815771cf660ab2e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65ec4f2496ae641d1306089dff5416b2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga65ec4f2496ae641d1306089dff5416b2">XNandPs_MarkBlockBad</a> (<a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *InstancePtr, u32 Block)</td></tr>
<tr class="separator:ga65ec4f2496ae641d1306089dff5416b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga6256f01deb0ca40af90a3b6ceb0aef94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_nand_ps___command_format.html">XNandPs_CommandFormat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga6256f01deb0ca40af90a3b6ceb0aef94">OnfiCommands</a> []</td></tr>
<tr class="separator:ga6256f01deb0ca40af90a3b6ceb0aef94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6256f01deb0ca40af90a3b6ceb0aef94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_nand_ps___command_format.html">XNandPs_CommandFormat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nandps__v2__2.html#ga6256f01deb0ca40af90a3b6ceb0aef94">OnfiCommands</a> []</td></tr>
<tr class="separator:ga6256f01deb0ca40af90a3b6ceb0aef94"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga34f4ef3f29daef5f33c6fef869b44e20"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define OneHot</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Value</td><td>)</td>
          <td>&#160;&#160;&#160;(!((Value) &amp; (Value - 1)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>OneHot is used to check if one and only one bit is set. </p>
<p>This Macro returns 1 if the value passed is OneHot. </p>

</div>
</div>
<a class="anchor" id="ga55dfb210683392ea30b195809ed4cbc5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_BLOCK_ERASE1&#160;&#160;&#160;0x60</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Block Erase (1st cycle) </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="gab86024a23180c0b1b88a78435232a6ef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_BLOCK_ERASE2&#160;&#160;&#160;0xD0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Block Erase (2nd cycle) </p>

</div>
</div>
<a class="anchor" id="ga5c37b601c4985f107409b385b02fc76f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_BLOCK_ERASE_INTERLEAVED2&#160;&#160;&#160;0xD1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Block Erase interleaved command (2nd cycle) </p>

</div>
</div>
<a class="anchor" id="ga2ed529448055585d56229d1371be0c0c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_CHANGE_READ_COLUMN1&#160;&#160;&#160;0x05</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Change Read Column command (1st cycle) </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>.</p>

</div>
</div>
<a class="anchor" id="gab3332307f2dd066c0fafb7e5fd0ff7cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_CHANGE_READ_COLUMN2&#160;&#160;&#160;0xE0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Change Read Column command (2nd cycle) </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>.</p>

</div>
</div>
<a class="anchor" id="ga406d827603b7651b9278b3d366f9f0bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_CHANGE_WRITE_COLUMN&#160;&#160;&#160;0x85</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Change Write Column command. </p>

</div>
</div>
<a class="anchor" id="gaa4f87be5dcf3bfe6888bacd2aa9d6171"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_COPYBACK_PROGRAM1&#160;&#160;&#160;0x85</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Copyback program command (1st cycle) </p>

</div>
</div>
<a class="anchor" id="gabda4e370276ed939e8f3330521a4c0c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_COPYBACK_PROGRAM2&#160;&#160;&#160;0x10</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Copyback program command (2nd cycle) </p>

</div>
</div>
<a class="anchor" id="ga3b8aeb82674a020fcb3b856c3fdc8512"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_COPYBACK_PROGRAM_INTERLEAVED2&#160;&#160;&#160;0x11</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Copyback program interleaved command (2nd cycle) </p>

</div>
</div>
<a class="anchor" id="gab10d24b1d6521d5bd855c7edec68cfad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_COPYBACK_READ1&#160;&#160;&#160;0x00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Copyback Read command (1st cycle) </p>

</div>
</div>
<a class="anchor" id="ga3f9e4b16df796e9fa5d09c1aeb689257"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_COPYBACK_READ2&#160;&#160;&#160;0x35</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Copyback Read command (2nd cycle) </p>

</div>
</div>
<a class="anchor" id="gadbf8afcdec47ffb5e24a9e2f580bc9e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_GET_FEATURES&#160;&#160;&#160;0xEE</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Get features command. </p>

</div>
</div>
<a class="anchor" id="ga65c3a1712dbf6b78ac8fdd26f2ad4955"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_PAGE_CACHE_PROGRAM1&#160;&#160;&#160;0x80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Page cache program (1st cycle) </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>.</p>

</div>
</div>
<a class="anchor" id="ga32f44a4cba105e5588e636f6294b0f9d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_PAGE_CACHE_PROGRAM2&#160;&#160;&#160;0x15</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Page cache program (2nd cycle) </p>

</div>
</div>
<a class="anchor" id="ga3d0794886aabbc021e8e0f85ef9893a1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_PAGE_PROG1&#160;&#160;&#160;0x80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Page Program command (1st cycle) </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3cfb6dc76ae159236b1426557f3529fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_PAGE_PROG2&#160;&#160;&#160;0x10</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Page Program command (2nd cycle) </p>

</div>
</div>
<a class="anchor" id="ga2d9b167f04107587fb8ba499179c82fd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_PAGE_PROGRAM_INTERLEAVED2&#160;&#160;&#160;0x11</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Page Program interleaved command (2nd cycle) </p>

</div>
</div>
<a class="anchor" id="ga58126625dc0ff8e6d1866433ab9342d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_READ1&#160;&#160;&#160;0x00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Read command (1st cycle) </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="gab53c251758d5fd3705eee1a9337abef8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_READ2&#160;&#160;&#160;0x30</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Read command (2nd cycle) </p>

</div>
</div>
<a class="anchor" id="gaf2935a27b9769e1684978ba4ba96ec23"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_READ_CACHE&#160;&#160;&#160;0x31</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Read cache command. </p>

</div>
</div>
<a class="anchor" id="ga2fc255623dd81fd29cebff096e20444d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_READ_CACHE_END&#160;&#160;&#160;0x3F</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Read cache end command. </p>

</div>
</div>
<a class="anchor" id="ga1c5c8ebf4ecb5594f01444d358048c25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_READ_CACHE_ENHANCED1&#160;&#160;&#160;0x00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Read cache enhanced command (1st cycle) </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>.</p>

</div>
</div>
<a class="anchor" id="ga636d60b79e0600b0c493904f1af19360"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_READ_CACHE_ENHANCED2&#160;&#160;&#160;0x31</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Read cache enhanced command (2nd cycle) </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7a3e3490f4a700f719f343781111ddb5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_READ_ID&#160;&#160;&#160;0x90</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Read ID command. </p>

</div>
</div>
<a class="anchor" id="gaeabd8cba36043b481813f654e440637e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_READ_PARAM_PAGE&#160;&#160;&#160;0xEC</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Read Parameter Page command. </p>

</div>
</div>
<a class="anchor" id="gacc38d697c4911db817bec7cf3e025938"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_READ_STATUS&#160;&#160;&#160;0x70</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Read status command. </p>

</div>
</div>
<a class="anchor" id="gaed4869952de35132eafa69c63673addb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_READ_STATUS_ENHANCED&#160;&#160;&#160;0x78</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Read Status enhanced command. </p>

</div>
</div>
<a class="anchor" id="ga1a90e233b57cb3bc0ef3a5fc315e158f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_READ_UNIQUEID&#160;&#160;&#160;0xED</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Read Unique ID command. </p>

</div>
</div>
<a class="anchor" id="gaf2876620cfd13144b4779bf7b4a5aefe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_RESET&#160;&#160;&#160;0xFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Reset command. </p>

</div>
</div>
<a class="anchor" id="ga09a77a047f11adfcb8b2b226bd674adf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CMD_SET_FEATURES&#160;&#160;&#160;0xEF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Set features command. </p>

</div>
</div>
<a class="anchor" id="ga95404175c5c6bfeb8a98aaef9bbc551e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CRC_INIT&#160;&#160;&#160;0x4F4E</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI CRC16 Inititialization constant. </p>

</div>
</div>
<a class="anchor" id="ga227f8d8d7d2de58dd0b2d6da3006f03e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CRC_LEN&#160;&#160;&#160;254</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI CRC16 length. </p>

</div>
</div>
<a class="anchor" id="gade881bc5d3ed11d19ee0af0d25e84bc0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CRC_ORDER&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI CRC16 order. </p>

</div>
</div>
<a class="anchor" id="gad5f5c897b5d63054909a7f2e7311e991"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_CRC_POLYNOM&#160;&#160;&#160;0x8005</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI CRC16 polynomial. </p>

</div>
</div>
<a class="anchor" id="ga27d88d8a093bb990046ae13730aa935e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_ID_LEN&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI ID Length. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gacb42515d1fa541b8ac5e785d1fb7eefd">Onfi_NandInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8934224be62b66baa973637dd3fd4816"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_PARAM_PAGE_LEN&#160;&#160;&#160;256</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Parameter page length. </p>

</div>
</div>
<a class="anchor" id="ga68423a0be6b6a1956b7e93fef5e50e00"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_SIGNATURE_LEN&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Signature Length. </p>

</div>
</div>
<a class="anchor" id="ga381ed334372bb02695d812e44ba58081"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_STATUS_ARDY&#160;&#160;&#160;0x20</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Status Register : ARDY. </p>

</div>
</div>
<a class="anchor" id="ga44013e5fb725c1b3233359b2fb14a4d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_STATUS_FAIL&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Status Register : FAIL. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>, <a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes()</a>, and <a class="el" href="group__nandps__v2__2.html#gaa987d756af43c965a6439f077a4ce158">XNandPs_WriteSpareBytes()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0fffa352f5726c9d18effcd83ce7061e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_STATUS_FAILC&#160;&#160;&#160;0x02</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Status Register : FAILC. </p>

</div>
</div>
<a class="anchor" id="ga33dc5a0d5a0593c5a2654b16ff49b38a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_STATUS_RDY&#160;&#160;&#160;0x40</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Status Register : RDY. </p>

</div>
</div>
<a class="anchor" id="ga8be0ae53753ead584ac71c2898d5d9e3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ONFI_STATUS_WP&#160;&#160;&#160;0x80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>ONFI Status Register : WR. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga22b4e2bc1af7e4bfecd4428c25a77bb8">XNandPs_EraseBlock()</a>, <a class="el" href="group__nandps__v2__2.html#gaebab330d0fd9efef74c26a50b5829d9f">XNandPs_Write()</a>, and <a class="el" href="group__nandps__v2__2.html#ga8ecd5bb0fc73b3011ee0ba500e0161fe">XNandPs_WriteCache()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1de1dd0bf041bea85027589c4e74a508"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ADDR_CYCLES_SHIFT&#160;&#160;&#160;21</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Address cycles shift. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes()</a>, and <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa5036c69cee2c0eea308d4fc74e7ffdc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_AXI_DATA_WIDTH&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>AXI Data width for last transaction while reading and writing. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes()</a>, and <a class="el" href="group__nandps__v2__2.html#gaa987d756af43c965a6439f077a4ce158">XNandPs_WriteSpareBytes()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7f1a2e914cdaa10ad2c730958cbffc98"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BB_PATTERN&#160;&#160;&#160;0xFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Bad block pattern to search in a page. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="ga89b88c9d4f553dcac407ca987afaa775"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BB_PATTERN_LENGTH_LARGE_PAGE&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Bad block pattern length. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="gafed66cfe949f16e69c3a99b0183183d9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BB_PATTERN_LENGTH_SMALL_PAGE&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Bad block pattern length. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="gabc8529210c261e24ffbeae2ec2774702"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BB_PATTERN_OFFSET_LARGE_PAGE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Bad block pattern offset in a large page. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="ga923e66dcd7aa633f9d7834f37366a7ef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BB_PATTERN_OFFSET_SMALL_PAGE&#160;&#160;&#160;5</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Bad block pattern offset in a page. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6b09191846a32df39daaa50cb7e7ab0a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BBT_BLOCK_SHIFT&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Block shift value for a block in BBT. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga5744d2e6e03eb2b815771cf660ab2e11">XNandPs_IsBlockBad()</a>, and <a class="el" href="group__nandps__v2__2.html#ga65ec4f2496ae641d1306089dff5416b2">XNandPs_MarkBlockBad()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7ea379639132add0b9fa16f9f5faddc9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BBT_DESC_MAX_BLOCKS&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Bad block Table max blocks. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4b345667d0e5773945afba7f32e71197"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BBT_DESC_PAGE_OFFSET&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Page offset of Bad Block Table Desc. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="ga13ccee0248f97c8797d2d8cc91c9c235"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BBT_DESC_SIG_LEN&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Bad block Table signature length. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="ga574ae11e1b61cbe8c252809811b7e9a4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BBT_DESC_SIG_OFFSET&#160;&#160;&#160;8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Bad Block Table signature offset. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="gaab896c9f1fca0c7c89748f5e8fef9f28"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BBT_DESC_VER_OFFSET&#160;&#160;&#160;12</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Bad block Table version offset. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7bdde5a8f13f65b23cc2d3382c8ab884"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BBT_ENTRY_NUM_BLOCKS&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Num of blocks in one BBT entry. </p>

</div>
</div>
<a class="anchor" id="ga5457296025d8fd9a120bb91e9d758127"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BBT_SCAN_2ND_PAGE&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Scan the second page for bad block information. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="ga820a56f0443165ef4e45daafb8bfb604"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNandPs_BbtBlockShift</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Block</td><td>)</td>
          <td>&#160;&#160;&#160;((Block * 2) &amp; <a class="el" href="group__nandps__v2__2.html#gaf7c432bad01dd727f91f1f0435f92cac">XNANDPS_BLOCK_SHIFT_MASK</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>This macro returns the Block shift value corresponding to a Block. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Block</td><td>is the block number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Block shift value</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga5744d2e6e03eb2b815771cf660ab2e11">XNandPs_IsBlockBad()</a>, and <a class="el" href="group__nandps__v2__2.html#ga65ec4f2496ae641d1306089dff5416b2">XNandPs_MarkBlockBad()</a>.</p>

</div>
</div>
<a class="anchor" id="ga52a13ba6c5dc5ae22cad93b73ec66503"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BLOCK_BAD&#160;&#160;&#160;0x1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Block is bad. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga65ec4f2496ae641d1306089dff5416b2">XNandPs_MarkBlockBad()</a>.</p>

</div>
</div>
<a class="anchor" id="gad4781005bbcccdccba1bd02497925ec4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BLOCK_FACTORY_BAD&#160;&#160;&#160;0x3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Factory marked bad block. </p>

</div>
</div>
<a class="anchor" id="ga8ffc4c5be52b4ca7d07c2b5a159bec99"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BLOCK_GOOD&#160;&#160;&#160;0x0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Block is good. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga5744d2e6e03eb2b815771cf660ab2e11">XNandPs_IsBlockBad()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa6ac6d803ac18454c61045a7aef97920"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BLOCK_RESERVED&#160;&#160;&#160;0x2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Reserved block. </p>

</div>
</div>
<a class="anchor" id="gaf7c432bad01dd727f91f1f0435f92cac"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BLOCK_SHIFT_MASK&#160;&#160;&#160;0x06</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Block shift mask for a Bad Block Table entry byte. </p>

</div>
</div>
<a class="anchor" id="gac547ca7c91b79d5437cf58f29c0fda1e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_BLOCK_TYPE_MASK&#160;&#160;&#160;0x03</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Block type mask. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga5744d2e6e03eb2b815771cf660ab2e11">XNandPs_IsBlockBad()</a>, and <a class="el" href="group__nandps__v2__2.html#ga65ec4f2496ae641d1306089dff5416b2">XNandPs_MarkBlockBad()</a>.</p>

</div>
</div>
<a class="anchor" id="ga43c3baa53b9c047680bd19339bc0f4e1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_CHIP_ADDR_SHIFT&#160;&#160;&#160;24</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Chip address shift. </p>

</div>
</div>
<a class="anchor" id="gae7b09bd31246d8fb20332ca2c66664f3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_CLEAR_CS_SHIFT&#160;&#160;&#160;21</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>clear chip select shift </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf646761218a609e83c43bbec343cdc4f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_CLR_CONFIG</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line">((<a class="code" href="group__nandps__v2__2.html#ga6731d845acda751402ee26f71588253e">XNANDPS_MEMC_CLR_CONFIG_INT_DISABLE1_MASK</a>)    | \</div>
<div class="line">                        (<a class="code" href="group__nandps__v2__2.html#ga0c56dde06594c0e2a7deac16d7291f4a">XNANDPS_MEMC_CLR_CONFIG_INT_CLR1_MASK</a>) | \</div>
<div class="line">                        (<a class="code" href="group__nandps__v2__2.html#gaa1b2d0e0a22463d92e6308573fa72e7b">XNANDPS_MEMC_CLR_CONFIG_ECC_INT_DISABLE1_MASK</a>))</div>
<div class="ttc" id="group__nandps__v2__2_html_ga0c56dde06594c0e2a7deac16d7291f4a"><div class="ttname"><a href="group__nandps__v2__2.html#ga0c56dde06594c0e2a7deac16d7291f4a">XNANDPS_MEMC_CLR_CONFIG_INT_CLR1_MASK</a></div><div class="ttdeci">#define XNANDPS_MEMC_CLR_CONFIG_INT_CLR1_MASK</div><div class="ttdoc">Memory controller interface1 interrupt clear mask. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:354</div></div>
<div class="ttc" id="group__nandps__v2__2_html_ga6731d845acda751402ee26f71588253e"><div class="ttname"><a href="group__nandps__v2__2.html#ga6731d845acda751402ee26f71588253e">XNANDPS_MEMC_CLR_CONFIG_INT_DISABLE1_MASK</a></div><div class="ttdeci">#define XNANDPS_MEMC_CLR_CONFIG_INT_DISABLE1_MASK</div><div class="ttdoc">Memory controller interface 1 interrupt disable mask. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:345</div></div>
<div class="ttc" id="group__nandps__v2__2_html_gaa1b2d0e0a22463d92e6308573fa72e7b"><div class="ttname"><a href="group__nandps__v2__2.html#gaa1b2d0e0a22463d92e6308573fa72e7b">XNANDPS_MEMC_CLR_CONFIG_ECC_INT_DISABLE1_MASK</a></div><div class="ttdeci">#define XNANDPS_MEMC_CLR_CONFIG_ECC_INT_DISABLE1_MASK</div><div class="ttdoc">Memory controller interface1 ECC interrupt disable mask. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:360</div></div>
</div><!-- fragment -->
<p>Interrupt settings. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gaddb9f847fae34f6d137f591375a7c962">XNandPs_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="gae8e59d6704246c9a18cbc9ddf8990105"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_CLR_CS&#160;&#160;&#160;(0x1 &lt;&lt; XNANDPS_CLEAR_CS_SHIFT)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>set Clear chip select </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes()</a>, and <a class="el" href="group__nandps__v2__2.html#gaa987d756af43c965a6439f077a4ce158">XNandPs_WriteSpareBytes()</a>.</p>

</div>
</div>
<a class="anchor" id="ga12a3bec18f94247283675686fe54f3c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_CMD_PHASE&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>End command in command phase. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6ff24a4f5fb28e9057c240b4f4c89053"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_COLUMN_NOT_VALID&#160;&#160;&#160;-1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Column is not valid in command phase. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga7f3a46694f4b3c4baffca71e6fcfebab">Onfi_CmdReadStatus()</a>, <a class="el" href="group__nandps__v2__2.html#ga22b4e2bc1af7e4bfecd4428c25a77bb8">XNandPs_EraseBlock()</a>, <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>, and <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ga00a9136efdc3fd5e96398831d1f582b3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_COMMAND_PHASE_MASK&#160;&#160;&#160;0x00000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Command phase mask. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes()</a>, and <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="gab49f78a892cc541c162a801d793db174"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_DATA_PHASE&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>End command in data phase. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ga25acc37295a6d972e6881ccd72ad5344"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_DATA_PHASE_MASK&#160;&#160;&#160;0x00080000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Data phase mask. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ga72263dd095a25af894b0c05fd9f4937f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_DIRECT_CMD_ADDR_MASK&#160;&#160;&#160;0x000FFFFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Direct command address mask. </p>

</div>
</div>
<a class="anchor" id="ga506db1c7923585401372d904ff590cff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_DIRECT_CMD_CHIP_SELECT_MASK&#160;&#160;&#160;0x03800000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Direct command chip select mask. </p>

</div>
</div>
<a class="anchor" id="ga60b7e5a5ea3d06e82d69e73a0e0f8494"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_DIRECT_CMD_CHIP_SELECT_SHIFT&#160;&#160;&#160;23</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Direct command chip select shift. </p>

</div>
</div>
<a class="anchor" id="gafa1f198d318f573ae07d63bd50f6b869"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_DIRECT_CMD_CMD_TYPE_SHIFT&#160;&#160;&#160;21</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Direct command cmd_type shift. </p>

</div>
</div>
<a class="anchor" id="ga80f534d4fe9ecc15457724440f014358"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_DIRECT_CMD_OFFSET&#160;&#160;&#160;0x010</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Direct command reg, WO. </p>

</div>
</div>
<a class="anchor" id="ga4e38ce9f7d66e8bcc75bc9164b4be851"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_DIRECT_CMD_SET_CRE_MASK&#160;&#160;&#160;0x00100000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Direct command set cre mask. </p>

</div>
</div>
<a class="anchor" id="ga23a01036fc8434fa034b45b05f07853e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_DIRECT_CMD_SET_CRE_SHIFT&#160;&#160;&#160;20</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Direct command set_cre shift. </p>

</div>
</div>
<a class="anchor" id="gae58e7e151541e1043a63f0005efa50e8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_DIRECT_CMD_TYPE_MASK&#160;&#160;&#160;0x00600000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Direct command type mask. </p>

</div>
</div>
<a class="anchor" id="ga362aa8cde381fb04a9e93a47d13939a4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_ADDR0_OFFSET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x010 + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC address0 reg. </p>

</div>
</div>
<a class="anchor" id="ga26401132963b086ae9a07280afd84636"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_ADDR1_OFFSET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x014 + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC address1 reg. </p>

</div>
</div>
<a class="anchor" id="ga670ccbc6afa402392d54ee6902cdaeb3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_BLOCK_SIZE&#160;&#160;&#160;512</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>ECC block size. </p>

</div>
</div>
<a class="anchor" id="ga412d2eaa86d836cdecfcaddeb12266eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_BYTES&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>ECC bytes per ECC block. </p>

</div>
</div>
<a class="anchor" id="ga50e521a56f9e03bc5ec2a26be318cedb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_CAN_CORRECT_MASK&#160;&#160;&#160;0x01F00000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc status ecc_can_correct mask. </p>

</div>
</div>
<a class="anchor" id="ga1455c0fa3b20e01561924b2a162c07ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_CMD1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line">((0x80 &lt;&lt; <a class="code" href="xnandps__hw_8h.html#a91a88936d7883eb8a46d2ae5e0b38543">XNANDPS_ECC_MEMCOMMAND1_WR_CMD_SHIFT</a>) | \</div>
<div class="line">                (0x00 &lt;&lt; <a class="code" href="xnandps__hw_8h.html#a6c3123982a9b5da195d9530d541cd06f">XNANDPS_ECC_MEMCOMMAND1_RD_CMD_SHIFT</a>)  | \</div>
<div class="line">                (0x30 &lt;&lt; <a class="code" href="xnandps__hw_8h.html#a3d48d8af5b0f09ee1105069caf32c920">XNANDPS_ECC_MEMCOMMAND1_RD_CMD_END_SHIFT</a>) | \</div>
<div class="line">                (0x1 &lt;&lt; <a class="code" href="xnandps__hw_8h.html#a8cb896a4cbb6e8b643bcab62b36daff8">XNANDPS_ECC_MEMCOMMAND1_RD_CMD_END_VALID_SHIFT</a>))</div>
<div class="ttc" id="xnandps__hw_8h_html_a3d48d8af5b0f09ee1105069caf32c920"><div class="ttname"><a href="xnandps__hw_8h.html#a3d48d8af5b0f09ee1105069caf32c920">XNANDPS_ECC_MEMCOMMAND1_RD_CMD_END_SHIFT</a></div><div class="ttdeci">#define XNANDPS_ECC_MEMCOMMAND1_RD_CMD_END_SHIFT</div><div class="ttdoc">Ecc command 1 nand_rd_cmd_end shift. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:632</div></div>
<div class="ttc" id="xnandps__hw_8h_html_a6c3123982a9b5da195d9530d541cd06f"><div class="ttname"><a href="xnandps__hw_8h.html#a6c3123982a9b5da195d9530d541cd06f">XNANDPS_ECC_MEMCOMMAND1_RD_CMD_SHIFT</a></div><div class="ttdeci">#define XNANDPS_ECC_MEMCOMMAND1_RD_CMD_SHIFT</div><div class="ttdoc">Ecc command 1 nand_rd_cmd shift. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:630</div></div>
<div class="ttc" id="xnandps__hw_8h_html_a91a88936d7883eb8a46d2ae5e0b38543"><div class="ttname"><a href="xnandps__hw_8h.html#a91a88936d7883eb8a46d2ae5e0b38543">XNANDPS_ECC_MEMCOMMAND1_WR_CMD_SHIFT</a></div><div class="ttdeci">#define XNANDPS_ECC_MEMCOMMAND1_WR_CMD_SHIFT</div><div class="ttdoc">Ecc command 1 nand_wr_cmd shift. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:628</div></div>
<div class="ttc" id="xnandps__hw_8h_html_a8cb896a4cbb6e8b643bcab62b36daff8"><div class="ttname"><a href="xnandps__hw_8h.html#a8cb896a4cbb6e8b643bcab62b36daff8">XNANDPS_ECC_MEMCOMMAND1_RD_CMD_END_VALID_SHIFT</a></div><div class="ttdeci">#define XNANDPS_ECC_MEMCOMMAND1_RD_CMD_END_VALID_SHIFT</div><div class="ttdoc">Ecc command 1 nand_rd_cmd_end_valid shift. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:634</div></div>
</div><!-- fragment -->
<p>ECC command 1 settings. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga8e72425d265074f1c2f8c66edfd22857">XNandPs_Read()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2b1034e7d5e29d8613b34c16a8c491ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_CMD2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line">((0x85 &lt;&lt; <a class="code" href="xnandps__hw_8h.html#a0370d409026629c9c67c6a09356168b7">XNANDPS_ECC_MEMCOMMAND2_WR_COL_CHANGE_SHIFT</a>) | \</div>
<div class="line">                (0x05 &lt;&lt; <a class="code" href="xnandps__hw_8h.html#a2268559b8b7eda4b64e06be46c1ae163">XNANDPS_ECC_MEMCOMMAND2_RD_COL_CHANGE_SHIFT</a>)  | \</div>
<div class="line">                (0xE0 &lt;&lt; <a class="code" href="xnandps__hw_8h.html#a1ac7be4acb6465855e90c59a917ea460">XNANDPS_ECC_MEMCOMMAND2_RD_COL_CHANGE_END_SHIFT</a>) | \</div>
<div class="line">        (0x1 &lt;&lt; <a class="code" href="xnandps__hw_8h.html#a9affb1a5cbc15106387b90f11585d316">XNANDPS_ECC_MEMCOMMAND2_RD_COL_CHANGE_END_VALID_SHIFT</a>))</div>
<div class="ttc" id="xnandps__hw_8h_html_a1ac7be4acb6465855e90c59a917ea460"><div class="ttname"><a href="xnandps__hw_8h.html#a1ac7be4acb6465855e90c59a917ea460">XNANDPS_ECC_MEMCOMMAND2_RD_COL_CHANGE_END_SHIFT</a></div><div class="ttdeci">#define XNANDPS_ECC_MEMCOMMAND2_RD_COL_CHANGE_END_SHIFT</div><div class="ttdoc">Ecc command2 nand_rd_col_change_end shift. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:655</div></div>
<div class="ttc" id="xnandps__hw_8h_html_a0370d409026629c9c67c6a09356168b7"><div class="ttname"><a href="xnandps__hw_8h.html#a0370d409026629c9c67c6a09356168b7">XNANDPS_ECC_MEMCOMMAND2_WR_COL_CHANGE_SHIFT</a></div><div class="ttdeci">#define XNANDPS_ECC_MEMCOMMAND2_WR_COL_CHANGE_SHIFT</div><div class="ttdoc">Ecc command2 nand_wr_col_change shift. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:651</div></div>
<div class="ttc" id="xnandps__hw_8h_html_a9affb1a5cbc15106387b90f11585d316"><div class="ttname"><a href="xnandps__hw_8h.html#a9affb1a5cbc15106387b90f11585d316">XNANDPS_ECC_MEMCOMMAND2_RD_COL_CHANGE_END_VALID_SHIFT</a></div><div class="ttdeci">#define XNANDPS_ECC_MEMCOMMAND2_RD_COL_CHANGE_END_VALID_SHIFT</div><div class="ttdoc">Ecc command2 nand_rd_col_change_end_valid shift. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:657</div></div>
<div class="ttc" id="xnandps__hw_8h_html_a2268559b8b7eda4b64e06be46c1ae163"><div class="ttname"><a href="xnandps__hw_8h.html#a2268559b8b7eda4b64e06be46c1ae163">XNANDPS_ECC_MEMCOMMAND2_RD_COL_CHANGE_SHIFT</a></div><div class="ttdeci">#define XNANDPS_ECC_MEMCOMMAND2_RD_COL_CHANGE_SHIFT</div><div class="ttdoc">Ecc command2 nand_rd_col_change shift. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:653</div></div>
</div><!-- fragment -->
<p>ECC command 2 settings. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga8e72425d265074f1c2f8c66edfd22857">XNandPs_Read()</a>.</p>

</div>
</div>
<a class="anchor" id="ga94f114de5b35833513e99c1f7417b3bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_CORRECT_BIT_MASK&#160;&#160;&#160;0x7</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>ECC error correction bit position mask, bits[0:2] of error code. </p>

</div>
</div>
<a class="anchor" id="ga653b5679ad2abfd95478470ace9b033f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_CORRECT_BYTE_MASK&#160;&#160;&#160;0x1FF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>ECC error correction byte position mask, bits[11:3] of error code. </p>

</div>
</div>
<a class="anchor" id="gaa0126861c9885e18631a341b9c502654"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_FAIL_MASK&#160;&#160;&#160;0x000F8000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc status ecc_fail mask. </p>

</div>
</div>
<a class="anchor" id="ga24aa6c637ca56a0d8357e4184c8ec746"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_LAST&#160;&#160;&#160;(0x1 &lt;&lt; XNANDPS_ECC_LAST_SHIFT)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>set Ecc last </p>

</div>
</div>
<a class="anchor" id="ga99835434f14906b82e037592893a06c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_LAST_MASK&#160;&#160;&#160;0x00000180</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc status ecc_last mask. </p>

</div>
</div>
<a class="anchor" id="gacd1087ff09a54e6c99d8bbc00804dcd4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_LAST_SHIFT&#160;&#160;&#160;10</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Ecc last shift. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ga61380595222d4a5e63904199b71260d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line">((0x1 &lt;&lt; <a class="code" href="group__nandps__v2__2.html#gaaf2c3d5ccd811cd525971db6edc37183">XNANDPS_ECC_MEMCFG_ECC_MODE_SHIFT</a>) | \</div>
<div class="line">                        (0x1 &lt;&lt; <a class="code" href="group__nandps__v2__2.html#gac7b61519733a4be05a029c4767dcf624">XNANDPS_ECC_MEMCFG_ECC_READ_END_SHIFT</a>)  | \</div>
<div class="line">                        (0x0 &lt;&lt; <a class="code" href="group__nandps__v2__2.html#ga626e312c59becf9175883314824ee42d">XNANDPS_ECC_MEMCFG_ECC_JUMP_SHIFT</a>))</div>
<div class="ttc" id="group__nandps__v2__2_html_gaaf2c3d5ccd811cd525971db6edc37183"><div class="ttname"><a href="group__nandps__v2__2.html#gaaf2c3d5ccd811cd525971db6edc37183">XNANDPS_ECC_MEMCFG_ECC_MODE_SHIFT</a></div><div class="ttdeci">#define XNANDPS_ECC_MEMCFG_ECC_MODE_SHIFT</div><div class="ttdoc">Ecc cfg ecc_mode shift. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:587</div></div>
<div class="ttc" id="group__nandps__v2__2_html_gac7b61519733a4be05a029c4767dcf624"><div class="ttname"><a href="group__nandps__v2__2.html#gac7b61519733a4be05a029c4767dcf624">XNANDPS_ECC_MEMCFG_ECC_READ_END_SHIFT</a></div><div class="ttdeci">#define XNANDPS_ECC_MEMCFG_ECC_READ_END_SHIFT</div><div class="ttdoc">Ecc cfg ecc_read_end shift. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:589</div></div>
<div class="ttc" id="group__nandps__v2__2_html_ga626e312c59becf9175883314824ee42d"><div class="ttname"><a href="group__nandps__v2__2.html#ga626e312c59becf9175883314824ee42d">XNANDPS_ECC_MEMCFG_ECC_JUMP_SHIFT</a></div><div class="ttdeci">#define XNANDPS_ECC_MEMCFG_ECC_JUMP_SHIFT</div><div class="ttdoc">Ecc cfg ecc_jump shift. </div><div class="ttdef"><b>Definition:</b> xnandps_hw.h:591</div></div>
</div><!-- fragment -->
<p>ECC memory configuration settings. </p>

</div>
</div>
<a class="anchor" id="gaa59b3fee4580c8944c3c14301f2a0c5f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_EXTRA_BLOCK_MASK&#160;&#160;&#160;0x00000400</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_extra_block mask. </p>

</div>
</div>
<a class="anchor" id="gabd615b4b5a0bd6122af9b92b4a87030c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_EXTRA_BLOCK_SHIFT&#160;&#160;&#160;10</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_extra_block shift. </p>

</div>
</div>
<a class="anchor" id="ga440ae7de6be7e30c19f4defb0d5a02fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_EXTRA_BLOCK_SIZE_MASK&#160;&#160;&#160;0x00001800</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_extra_block_size mask. </p>

</div>
</div>
<a class="anchor" id="gaa986c04140bbeb60f11a573e90b94dbd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_EXTRA_BLOCK_SIZE_SHIFT&#160;&#160;&#160;11</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_extra_block_size shift. </p>

</div>
</div>
<a class="anchor" id="gaa5bb5adec17b9bf55b505698e4b1e711"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_INT_ABORT_MASK&#160;&#160;&#160;0x00000200</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_int_abort mask. </p>

</div>
</div>
<a class="anchor" id="ga8c4855e539e3e9d9eb6312f5a85cddfa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_INT_ABORT_SHIFT&#160;&#160;&#160;9</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_int_abort shift. </p>

</div>
</div>
<a class="anchor" id="ga94c64bf32eec92e13cee977f774ad531"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_INT_PASS_MASK&#160;&#160;&#160;0x00000100</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_int_pass mask. </p>

</div>
</div>
<a class="anchor" id="ga4fe5b2818be2687b9ae9678f26209a79"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_INT_PASS_SHIFT&#160;&#160;&#160;8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_int_pass shift. </p>

</div>
</div>
<a class="anchor" id="ga27bf1e2feb352151c2a1f66fbb649480"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_JUMP_MASK&#160;&#160;&#160;0x00000060</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_jump mask. </p>

</div>
</div>
<a class="anchor" id="ga626e312c59becf9175883314824ee42d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_JUMP_SHIFT&#160;&#160;&#160;5</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_jump shift. </p>

</div>
</div>
<a class="anchor" id="gabedfedca80335cfdbcc1987e9b122aeb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_MODE_MASK&#160;&#160;&#160;0x0000000C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_mode mask. </p>

</div>
</div>
<a class="anchor" id="gaaf2c3d5ccd811cd525971db6edc37183"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_MODE_SHIFT&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_mode shift. </p>

</div>
</div>
<a class="anchor" id="ga0767b20d534c69ad8befd2dd66b0ddc5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_READ_END_MASK&#160;&#160;&#160;0x00000010</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_read_end mask. </p>

</div>
</div>
<a class="anchor" id="gac7b61519733a4be05a029c4767dcf624"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_ECC_READ_END_SHIFT&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_read_end shift. </p>

</div>
</div>
<a class="anchor" id="ga142d4677fab71f33eaf73279805484d7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_IGNORE_ADD8_MASK&#160;&#160;&#160;0x00000080</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_ignore_add_eight mask. </p>

</div>
</div>
<a class="anchor" id="ga342ff07bb404de4c4e6187497ff04e92"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_IGNORE_ADD8_SHIFT&#160;&#160;&#160;7</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg ecc_ignore_add_eight shift. </p>

</div>
</div>
<a class="anchor" id="ga4e2e4acbbc22410dd5e6465065fb3c11"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_OFFSET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x004 + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC mem config reg. </p>

</div>
</div>
<a class="anchor" id="ga36f170edfdc0206eb7a33071f9f4cf9d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_PAGE_SIZE_1024&#160;&#160;&#160;0x2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC cfg page size value for 1024 byte page. </p>

</div>
</div>
<a class="anchor" id="ga7d9edc9df98df1d1616cbb62bb8741fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_PAGE_SIZE_2048&#160;&#160;&#160;0x3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC cfg page size value for 2048 byte page. </p>

</div>
</div>
<a class="anchor" id="ga5d6d2d29177affe9bdc2a66308b02341"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_PAGE_SIZE_512&#160;&#160;&#160;0x1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC cfg page size value for 512 byte page. </p>

</div>
</div>
<a class="anchor" id="ga30bb8644de65c2fcc2293102531b16be"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_PAGE_SIZE_MASK&#160;&#160;&#160;0x00000003</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg page_size mask. </p>

</div>
</div>
<a class="anchor" id="ga8e2bf64e4dc971ef51817d5ab3c7a3a8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCFG_PAGE_SIZE_SHIFT&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc cfg page_size shift. </p>

</div>
</div>
<a class="anchor" id="ga944a21dbf63f711c25e354be563fa302"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCMD1_OFFSET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x008 + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC mem com1 reg. </p>

</div>
</div>
<a class="anchor" id="ga2522d63c69de4aecc698d90c19e70521"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_MEMCMD2_OFFSET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x00C + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC mem com2 reg. </p>

</div>
</div>
<a class="anchor" id="ga8ff69e4d141ed6d7a3d7847af23ba7df"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_READ_MASK&#160;&#160;&#160;0x37000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc status ecc_read mask. </p>

</div>
</div>
<a class="anchor" id="ga277de987357ffa3e1fe572f07e7ca474"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_READ_NOT_WRITE_MASK&#160;&#160;&#160;0x00000200</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc status ecc_read_not_write mask. </p>

</div>
</div>
<a class="anchor" id="ga076dbfca456968a745059a51673e7ec3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_STATUS_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc status ecc_status mask. </p>

</div>
</div>
<a class="anchor" id="gae4b738ea5a0e4c9cdbfd4952351747d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_STATUS_OFFSET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x000 + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC status register. </p>

</div>
</div>
<a class="anchor" id="gad6eb5b7dc7a24721002d68a6e958229a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_STATUS_RAW_INT_STATUS_MASK&#160;&#160;&#160;0x0000003F</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc status raw_int_status mask. </p>

</div>
</div>
<a class="anchor" id="gad9c67a22528be2256f47d1883324a9d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_VALID_MASK&#160;&#160;&#160;0x00007C00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Ecc status ecc_valid mask. </p>

</div>
</div>
<a class="anchor" id="ga7ed2fdfd7c0644b3b2f8ef41fb54afe3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_VALUE0_OFFSET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x018 + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC value 0 reg. </p>

</div>
</div>
<a class="anchor" id="ga32b23441f9771e755873f130b6b60585"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_VALUE1_OFFSET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x01C + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC value 1 reg. </p>

</div>
</div>
<a class="anchor" id="ga824dbea2781ca306c1b7e5d4368151f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_VALUE2_OFFSET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x020 + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC value 2 reg. </p>

</div>
</div>
<a class="anchor" id="ga9452f9d35434dbf8da90939624bfd1ee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_VALUE3_OFFSET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x024 + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC value 3 reg. </p>

</div>
</div>
<a class="anchor" id="gafce755c5c24ab284c1a6ac1365933a87"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_ECC_VALUE4_OFFSET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x028 + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>ECC value 4 reg. </p>

</div>
</div>
<a class="anchor" id="gaac605341833cde0fcfc6cd3757f46bf7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_END_CMD_INVALID&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>End command invalid. </p>

</div>
</div>
<a class="anchor" id="ga15a120e615f9619d5c6c88dc24824381"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_END_CMD_NONE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>No End command. </p>

</div>
</div>
<a class="anchor" id="gac0c544102cd92afcdadad4a539501a0b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_END_CMD_SHIFT&#160;&#160;&#160;11</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>End command shift. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes()</a>, and <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="gac99a2d1110d9fb8c528f7256fbe2c804"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_END_CMD_VALID_SHIFT&#160;&#160;&#160;20</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>End command valid shift. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes()</a>, and <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ga27509962745af9175e06726f033d0796"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_FLASH_BLOCK_BAD&#160;&#160;&#160;0x2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Block is bad. </p>

</div>
</div>
<a class="anchor" id="ga54d601640a21f22188696844fc7b312c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_FLASH_BLOCK_FACTORY_BAD&#160;&#160;&#160;0x0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Factory marked bad block. </p>

</div>
</div>
<a class="anchor" id="gacd3b0fdad08c44639c327ad0afdc1b7e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_FLASH_BLOCK_GOOD&#160;&#160;&#160;0x3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Block is good. </p>

</div>
</div>
<a class="anchor" id="gaab0ab3b8f4cc986ba9c7e2ddea945190"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_FLASH_BLOCK_RESERVED&#160;&#160;&#160;0x1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8h.html">xnandps_bbm.h</a>&gt;</code></p>

<p>Reserved block. </p>

</div>
</div>
<a class="anchor" id="ga2913944cdf752a52c62581f2b6b92344"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_FLASH_CYCLES</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x000 + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>NAND &amp; SRAM cycle,RO. </p>

</div>
</div>
<a class="anchor" id="gafc3945fad84cc8e5552911bbf71c8ff1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_FLASH_WIDTH_16&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>NAND Flash width 16-bit. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga7f3a46694f4b3c4baffca71e6fcfebab">Onfi_CmdReadStatus()</a>, <a class="el" href="group__nandps__v2__2.html#gacb42515d1fa541b8ac5e785d1fb7eefd">Onfi_NandInit()</a>, and <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="gab6ac2e4a23ac752e38789b80a8dba558"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_FLASH_WIDTH_8&#160;&#160;&#160;8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>NAND Flash width 8-bit. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gacb42515d1fa541b8ac5e785d1fb7eefd">Onfi_NandInit()</a>.</p>

</div>
</div>
<a class="anchor" id="gae800cae34e2924cc96d9a39dfec52c5e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_IF0_CHIP_0_CONFIG_OFFSET&#160;&#160;&#160;0x100</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface 0 chip 0 config. </p>

</div>
</div>
<a class="anchor" id="ga9b5790760ef234b80563ff98be33b639"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_IF0_CHIP_1_CONFIG_OFFSET&#160;&#160;&#160;0x120</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface 0 chip 1 config. </p>

</div>
</div>
<a class="anchor" id="gadca811b60bbf42b5e7c68df5f63b6b0b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_IF0_CHIP_2_CONFIG_OFFSET&#160;&#160;&#160;0x140</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface 0 chip 2 config. </p>

</div>
</div>
<a class="anchor" id="ga5a0d06b416b45bb4aee25db7136a00c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_IF0_CHIP_3_CONFIG_OFFSET&#160;&#160;&#160;0x160</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface 0 chip 3 config. </p>

</div>
</div>
<a class="anchor" id="ga18178d8d0a8106de6362d8930a460b7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_IF0_ECC_OFFSET&#160;&#160;&#160;0x300</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface 0 ECC register. </p>

</div>
</div>
<a class="anchor" id="gae6eb4e6a228f126d327fbd05c0f014a8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_IF1_CHIP_0_CONFIG_OFFSET&#160;&#160;&#160;0x180</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface 1 chip 0 config. </p>

</div>
</div>
<a class="anchor" id="gab2b15dbd88316137e9704ab6a80c648f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_IF1_CHIP_1_CONFIG_OFFSET&#160;&#160;&#160;0x1A0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface 1 chip 1 config. </p>

</div>
</div>
<a class="anchor" id="ga0e9ddb24fb93c05cdf1bb345735d033c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_IF1_CHIP_2_CONFIG_OFFSET&#160;&#160;&#160;0x1C0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface 1 chip 2 config. </p>

</div>
</div>
<a class="anchor" id="gabf861776417813a0b65b13e7d4dae0cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_IF1_CHIP_3_CONFIG_OFFSET&#160;&#160;&#160;0x1E0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface 1 chip 3 config. </p>

</div>
</div>
<a class="anchor" id="ga2c8cfb872b36a91ddd9780829e9065b6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_IF1_ECC_OFFSET&#160;&#160;&#160;0x400</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface 1 ECC register. </p>

</div>
</div>
<a class="anchor" id="ga4c5b3e833662553de1c24f553b367624"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_INTGTEST_OFFSET&#160;&#160;&#160;0xE00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Integration test offset. </p>

</div>
</div>
<a class="anchor" id="gaeac7c4a5846cd8f24d4a64ee522c34f3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MAX_BLOCKS&#160;&#160;&#160;32768</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Max number of Blocks. </p>

</div>
</div>
<a class="anchor" id="ga786386f3e559ae718dd2705232659f42"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MAX_PAGE_SIZE&#160;&#160;&#160;16384</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Max page size of NAND flash. </p>

</div>
</div>
<a class="anchor" id="ga934b1c75fe903a36e6060b4e2b3f80bc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MAX_SPARE_SIZE&#160;&#160;&#160;512</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Max spare bytes of a NAND flash page. </p>

</div>
</div>
<a class="anchor" id="ga9318e127efeabeb03b6c66cd5e49584c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MAX_TARGETS&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Max number of targets supported. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gacb42515d1fa541b8ac5e785d1fb7eefd">Onfi_NandInit()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa80abd762794a6e6eee8e7e7b763e563"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_CLR_CONFIG_ECC_INT_DISABLE0_MASK&#160;&#160;&#160;0x00000020</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface0 ECC interrupt disable mask. </p>

</div>
</div>
<a class="anchor" id="gaa1b2d0e0a22463d92e6308573fa72e7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_CLR_CONFIG_ECC_INT_DISABLE1_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface1 ECC interrupt disable mask. </p>

</div>
</div>
<a class="anchor" id="ga00ca72eb11e3697d1d19920f94fbafcf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_CLR_CONFIG_INT_CLR0_MASK&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface0 interrupt clear mask. </p>

</div>
</div>
<a class="anchor" id="ga0c56dde06594c0e2a7deac16d7291f4a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_CLR_CONFIG_INT_CLR1_MASK&#160;&#160;&#160;0x00000010</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface1 interrupt clear mask. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga22b4e2bc1af7e4bfecd4428c25a77bb8">XNandPs_EraseBlock()</a>, <a class="el" href="group__nandps__v2__2.html#ga8e72425d265074f1c2f8c66edfd22857">XNandPs_Read()</a>, <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>, <a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes()</a>, and <a class="el" href="group__nandps__v2__2.html#gaa987d756af43c965a6439f077a4ce158">XNandPs_WriteSpareBytes()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6c962a9097a503fed1c61d2e8339fbaf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_CLR_CONFIG_INT_DISABLE0_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 0 interrupt disable mask. </p>

</div>
</div>
<a class="anchor" id="ga6731d845acda751402ee26f71588253e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_CLR_CONFIG_INT_DISABLE1_MASK&#160;&#160;&#160;0x00000002</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 1 interrupt disable mask. </p>

</div>
</div>
<a class="anchor" id="gaefe9ae62cf92675d965af9e54f5c4c14"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_CLR_CONFIG_LOW_POWER_EXIT_MASK&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller low power exit mask. </p>

</div>
</div>
<a class="anchor" id="gaaaaf55b8085d1dcfcde3756a36c7ff41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_CLR_CONFIG_OFFSET&#160;&#160;&#160;0x00C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Clear config reg, WO. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gaddb9f847fae34f6d137f591375a7c962">XNandPs_CfgInitialize()</a>, <a class="el" href="group__nandps__v2__2.html#ga22b4e2bc1af7e4bfecd4428c25a77bb8">XNandPs_EraseBlock()</a>, <a class="el" href="group__nandps__v2__2.html#ga8e72425d265074f1c2f8c66edfd22857">XNandPs_Read()</a>, <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>, <a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes()</a>, and <a class="el" href="group__nandps__v2__2.html#gaa987d756af43c965a6439f077a4ce158">XNandPs_WriteSpareBytes()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1472881c10164bcb840a040a6a3b81ef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_IF_CONFIG_EX_MONITORS_MASK&#160;&#160;&#160;0x00030000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface exclusive masks mask. </p>

</div>
</div>
<a class="anchor" id="gacfa52ce957918afd7a5e2b9002e8e5ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_IF_CONFIG_MEMORY_CHIPS0_MASK&#160;&#160;&#160;0x0000000C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 0 chip select mask. </p>

</div>
</div>
<a class="anchor" id="ga349af4d8dc505a62352e7410be68625d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_IF_CONFIG_MEMORY_CHIPS1_MASK&#160;&#160;&#160;0x00000C00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 1 chip select mask. </p>

</div>
</div>
<a class="anchor" id="gae2e056f5a0dc7c034d7fcad40321a711"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_IF_CONFIG_MEMORY_TYPE0_MASK&#160;&#160;&#160;0x00000003</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 0 type mask. </p>

</div>
</div>
<a class="anchor" id="ga6a41616bcbac0f34890a4f46bb83b674"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_IF_CONFIG_MEMORY_TYPE1_MASK&#160;&#160;&#160;0x00000300</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 1 type mask. </p>

</div>
</div>
<a class="anchor" id="ga43dea45efbf4a537f2802c9a82e2a45a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_IF_CONFIG_MEMORY_WIDTH0_MASK&#160;&#160;&#160;0x00000030</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 0 data width mask. </p>

</div>
</div>
<a class="anchor" id="ga241956eb1862c1125c1109b8cbea6249"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_IF_CONFIG_MEMORY_WIDTH1_MASK&#160;&#160;&#160;0x00003000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 1 data width mask. </p>

</div>
</div>
<a class="anchor" id="ga4f1aeb2b315fdf74b1f6fcd4a5ba7273"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_IF_CONFIG_OFFSET&#160;&#160;&#160;0x004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface config reg, RO. </p>

</div>
</div>
<a class="anchor" id="ga33221cbade48b01c3c517fa4b93fc036"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_IF_CONFIG_REMAP0_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 0 remap0 mask. </p>

</div>
</div>
<a class="anchor" id="gae712856a973b4fbe2f6caeaa1460c00f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_IF_CONFIG_REMAP1_MASK&#160;&#160;&#160;0x00004000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 1 remap0 mask. </p>

</div>
</div>
<a class="anchor" id="ga39ac41c2239851ad104bf96f7e03ba8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_SET_CONFIG_ECC_INT_ENABLE0_MASK&#160;&#160;&#160;0x00000020</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interfce0 ECC interrupt enable mask. </p>

</div>
</div>
<a class="anchor" id="ga89f0d8effcd9d8822d0a460fbbbbd85e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_SET_CONFIG_ECC_INT_ENABLE1_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interfce1 ECC interrupt enable mask. </p>

</div>
</div>
<a class="anchor" id="ga6082962ed33a2f188a55b670ca7c5871"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_SET_CONFIG_INT_ENABLE0_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interfce0 interrupt enable mask. </p>

</div>
</div>
<a class="anchor" id="ga2cef5fd83b8590859349ff957638c152"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_SET_CONFIG_INT_ENABLE1_MASK&#160;&#160;&#160;0x00000002</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interfce1 interrupt enable mask. </p>

</div>
</div>
<a class="anchor" id="ga561848b2dd77bfd2f541a74a45cd186d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_SET_CONFIG_LOW_POWER_REQ_MASK&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller low power state mask. </p>

</div>
</div>
<a class="anchor" id="gaf90040ca8e85052266c805a409d4d128"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_SET_CONFIG_OFFSET&#160;&#160;&#160;0x008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set configuration reg, WO. </p>

</div>
</div>
<a class="anchor" id="ga07b9ad8c6a16aa1309dade3eea7d75b7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_ECC_INT0_MASK&#160;&#160;&#160;0x00000200</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 0 ECC interrupt status mask. </p>

</div>
</div>
<a class="anchor" id="ga30acc1fb063eeca5441e48e8c1a57e66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_ECC_INT1_MASK&#160;&#160;&#160;0x00000400</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 1 ECC interrupt status mask. </p>

</div>
</div>
<a class="anchor" id="ga09acbe1735a88477b192a20f23677ee4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_ECC_INT_EN0_MASK&#160;&#160;&#160;0x00000080</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 0 ECC interrupt enable mask. </p>

</div>
</div>
<a class="anchor" id="ga2cb62df85f4a206172d3fd51c52bdc8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_ECC_INT_EN1_MASK&#160;&#160;&#160;0x00000100</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 1 ECC interrupt enable mask. </p>

</div>
</div>
<a class="anchor" id="ga6f0072315e38b85a92b15334524ede70"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_INT_EN0_MASK&#160;&#160;&#160;0x00000002</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 0 interrupt enable mask. </p>

</div>
</div>
<a class="anchor" id="gaf30fae0b6374003158bb30ab205e5066"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_INT_EN1_MASK&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 1 interrupt enable mask. </p>

</div>
</div>
<a class="anchor" id="ga1af4d9860270663419e0ddc9e3b1f8a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_INT_STATUS0_MASK&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 0 interrupt status mask. </p>

</div>
</div>
<a class="anchor" id="ga96e53f19a9d2a7a0c4a6fff79892861b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_INT_STATUS1_MASK&#160;&#160;&#160;0x00000010</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 1 interrupt status mask. </p>

</div>
</div>
<a class="anchor" id="gaf2f6aaad3157aafeda5749737e4d7d84"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_OFFSET&#160;&#160;&#160;0x000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Controller status reg, RO. </p>

</div>
</div>
<a class="anchor" id="ga49bab818d758f198cb953244842cd2a5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_RAW_ECC_INT0_MASK&#160;&#160;&#160;0x00000800</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 0 raw ECC interrupt status mask. </p>

</div>
</div>
<a class="anchor" id="ga6b66a736fe774f3b6d91390ed1e5da66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_RAW_ECC_INT1_MASK&#160;&#160;&#160;0x00001000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 1 raw ECC interrupt status mask. </p>

</div>
</div>
<a class="anchor" id="gad362d9c01b74e4718aec176a6bcb7be8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_RAW_INT_STATUS0_MASK&#160;&#160;&#160;0x00000020</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 0 raw interrupt status mask. </p>

</div>
</div>
<a class="anchor" id="ga995c16a409a39580d52421c7fea17d78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_RAW_INT_STATUS1_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller interface 1 raw interrupt status mask. </p>

</div>
</div>
<a class="anchor" id="ga29483de4ec80b0072f9a83152551bd60"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_MEMC_STATUS_STATE_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Memory controller operating state mask. </p>

</div>
</div>
<a class="anchor" id="ga9637bd6e50d1a65940625af864b6ee00"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_OPMODE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addr</td><td>)</td>
          <td>&#160;&#160;&#160;(0x004 + addr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Chip opmode reg, RO. </p>

</div>
</div>
<a class="anchor" id="gabb85102f0e483da786c914991e5113b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_OPMODE_ADDRESS_MASK&#160;&#160;&#160;0x00FF0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Opmode Address match mask. </p>

</div>
</div>
<a class="anchor" id="gacb0ea4d313e8298a55444b93f6ed32e2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_OPMODE_ADV_MASK&#160;&#160;&#160;0x00000800</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Opmode BLS mask. </p>

</div>
</div>
<a class="anchor" id="gacba2b496fcdc7f962b2921cd4cd2deb7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_OPMODE_BAA_MASK&#160;&#160;&#160;0x00000400</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Opmode ADV mask. </p>

</div>
</div>
<a class="anchor" id="ga963d73c5157a53b1e06d24246ccbb79b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_OPMODE_BLS_MASK&#160;&#160;&#160;0x00001000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Opmode Burst align mask. </p>

</div>
</div>
<a class="anchor" id="ga5d6d64e992e78a19e5e7b355231b551f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_OPMODE_BURST_ALIGN_MASK&#160;&#160;&#160;0x0000E000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Opmode Address mask. </p>

</div>
</div>
<a class="anchor" id="gabdc2b81c4e5d74c4006ddf575c9d722d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_OPMODE_MW_MASK&#160;&#160;&#160;0x00000003</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Opmode Memory width mask. </p>

</div>
</div>
<a class="anchor" id="ga58d19a511781c10256342d2595e51eaf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_OPMODE_RD_BL_MASK&#160;&#160;&#160;0x00000038</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Opmode rd_bl mask. </p>

</div>
</div>
<a class="anchor" id="gad376300216ec8a7e5f702077bee6751b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_OPMODE_RD_SYNC_MASK&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Opmode rd_sync mask. </p>

</div>
</div>
<a class="anchor" id="gae5074a539f489b9228ff72a63e12b43b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_OPMODE_WR_BL_MASK&#160;&#160;&#160;0x00000380</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Opmode BAA mask. </p>

</div>
</div>
<a class="anchor" id="gad21ff934be607af5a71e218f1faca5aa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_OPMODE_WR_SYNC_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Opmode wr_sync mask. </p>

</div>
</div>
<a class="anchor" id="gae43a8aa10277b0e0db35b3d63732e8b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PAGE_NOT_VALID&#160;&#160;&#160;-1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Page is not valid in command phase. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga7f3a46694f4b3c4baffca71e6fcfebab">Onfi_CmdReadStatus()</a>, <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>, and <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf5cd93b983d246ae46191faeab9981d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PAGE_SIZE_1024&#160;&#160;&#160;1024</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Page size 1024. </p>

</div>
</div>
<a class="anchor" id="gae9c793728d4e305d0d6db2e06ee0f2f0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PAGE_SIZE_2048&#160;&#160;&#160;2048</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Page size 2048. </p>

</div>
</div>
<a class="anchor" id="ga6115d808f57f05dd0ebf675479613b4b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PAGE_SIZE_4096&#160;&#160;&#160;4096</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Page size 4096. </p>

</div>
</div>
<a class="anchor" id="ga53b0eb39a6c2e7697451708f119d0225"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PAGE_SIZE_512&#160;&#160;&#160;512</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Page size 512. </p>

</div>
</div>
<a class="anchor" id="ga159e33af868b547fcd1d1ea7a3f5d8c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PAGE_SIZE_8192&#160;&#160;&#160;8192</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Page size 8192. </p>

</div>
</div>
<a class="anchor" id="ga993171014887eebcf39861f9502645fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PCELL_ID0_OFFSET&#160;&#160;&#160;0xFF0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Primecell id0 register. </p>

</div>
</div>
<a class="anchor" id="ga3fdee65c36e6f735ec675870e643e12a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PCELL_ID1_OFFSET&#160;&#160;&#160;0xFF4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Primecell id1 register. </p>

</div>
</div>
<a class="anchor" id="gae5d1c3ff379ebe21f078020df844d957"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PCELL_ID2_OFFSET&#160;&#160;&#160;0xFF8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Primecell id2 register. </p>

</div>
</div>
<a class="anchor" id="gafe10153d3fb48e1a0445e0b5c822eca7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PCELL_ID3_OFFSET&#160;&#160;&#160;0xFFC</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Primecell id3 register. </p>

</div>
</div>
<a class="anchor" id="ga72bb3810df32f6b28f48c25ff98843c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PERIPH_ID0_OFFSET&#160;&#160;&#160;0xFE0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Peripheral id0 register. </p>

</div>
</div>
<a class="anchor" id="gac770d392ac287ea3385cd79aeb6f976e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PERIPH_ID1_OFFSET&#160;&#160;&#160;0xFE4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Peripheral id1 register. </p>

</div>
</div>
<a class="anchor" id="ga8b0719eb74f224d3a0b9644ab413d6c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PERIPH_ID2_OFFSET&#160;&#160;&#160;0xFE8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Peripheral id2 register. </p>

</div>
</div>
<a class="anchor" id="ga7cd6dde2cd6f64e7c316d5401c8a63f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_PERIPH_ID3_OFFSET&#160;&#160;&#160;0xFEC</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Peripheral id3 register. </p>

</div>
</div>
<a class="anchor" id="ga7a36cf1959895976367117cd48bbd72e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_REFRESH_PERIOD_0_MASK&#160;&#160;&#160;0x0000000F</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface 0 refresh period mask. </p>

</div>
</div>
<a class="anchor" id="gae47923a76310444937b2b3aa4a11e399"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_REFRESH_PERIOD_0_OFFSET&#160;&#160;&#160;0x020</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Refresh period_0 reg, RW. </p>

</div>
</div>
<a class="anchor" id="ga0831d64aea2f14c4db5f10d0feabc3fd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_REFRESH_PERIOD_1_MASK&#160;&#160;&#160;0x0000000F</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Interface 1 refresh period mask. </p>

</div>
</div>
<a class="anchor" id="ga26d576acc9b981f1cfb8b40d94cf97c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_REFRESH_PERIOD_1_OFFSET&#160;&#160;&#160;0x024</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Refresh period_1 reg, RW. </p>

</div>
</div>
<a class="anchor" id="gab5b751d38c7c8021092b14e6e85779d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_OFFSET&#160;&#160;&#160;0x014</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles register, WO. </p>

</div>
</div>
<a class="anchor" id="gae5a16bc2a803077eadc2eb82bda51014"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T0_MASK&#160;&#160;&#160;0x0000000F</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t0 mask. </p>

</div>
</div>
<a class="anchor" id="gadee7fbf6528bf5313dffa4bf649fd21a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T0_SHIFT&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t0 shift. </p>

</div>
</div>
<a class="anchor" id="ga7e253d9418908a0dff9d4eb90f8fa353"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T1_MASK&#160;&#160;&#160;0x000000F0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t1 mask. </p>

</div>
</div>
<a class="anchor" id="ga08c26709c536d595bfac4df5c37ce033"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T1_SHIFT&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t1 shift. </p>

</div>
</div>
<a class="anchor" id="gae31a2657dd2d6aaa70668956cb35e12e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T2_MASK&#160;&#160;&#160;0x00000700</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t2 mask. </p>

</div>
</div>
<a class="anchor" id="ga220b55cb89b463abfcf4b68e5647b138"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T2_SHIFT&#160;&#160;&#160;8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t2 shift. </p>

</div>
</div>
<a class="anchor" id="gaad0f4bc1000e4f9d221fa36c5525fe0e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T3_MASK&#160;&#160;&#160;0x00003800</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t3 mask. </p>

</div>
</div>
<a class="anchor" id="ga9d07c93a998ce446b1e3f13feb398779"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T3_SHIFT&#160;&#160;&#160;11</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t3 shift. </p>

</div>
</div>
<a class="anchor" id="ga7ad602e799d2de40bd6a62100afb3c4a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T4_MASK&#160;&#160;&#160;0x0001C000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t4 mask. </p>

</div>
</div>
<a class="anchor" id="gad04f832bbbc70b63a72e35f1b4f04506"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T4_SHIFT&#160;&#160;&#160;14</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t4 shift. </p>

</div>
</div>
<a class="anchor" id="gaa569f1daeb322a081c11b9b4d5a5a708"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T5_MASK&#160;&#160;&#160;0x000E0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t5 mask. </p>

</div>
</div>
<a class="anchor" id="gac6131810c9cd8eab374f752b8865ba62"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T5_SHIFT&#160;&#160;&#160;17</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t5 shift. </p>

</div>
</div>
<a class="anchor" id="ga0a2e2fafd72b42c85dcdb2c8162e0965"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T6_MASK&#160;&#160;&#160;0x00F00000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t6 mask. </p>

</div>
</div>
<a class="anchor" id="gad3f4d14c66ae3392d3a230cd09573b69"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_CYCLES_SET_T6_SHIFT&#160;&#160;&#160;20</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set cycles set_t6 shift. </p>

</div>
</div>
<a class="anchor" id="gacafee1faf2214361e9a96833f1078060"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_MW_16_BITS&#160;&#160;&#160;0x1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode memory width value for 16-bit flash. </p>

</div>
</div>
<a class="anchor" id="ga7bc4a75576c5dd9e5c1d20cde377c3b7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_MW_32_BITS&#160;&#160;&#160;0x2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode memory width value for 32-bit flash. </p>

</div>
</div>
<a class="anchor" id="gae56ca80625221b651da0d080d2cf7a55"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_MW_8_BITS&#160;&#160;&#160;0x0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode memory width value for 8-bit flash. </p>

</div>
</div>
<a class="anchor" id="gaf26e745fd5b4f88aaa218e7cd8891041"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_OFFSET&#160;&#160;&#160;0x018</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode register, WO. </p>

</div>
</div>
<a class="anchor" id="gaf7b4e287660ee6239f00dc15a9ba66ce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_SET_ADV_MASK&#160;&#160;&#160;0x00000800</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode set adv mask. </p>

</div>
</div>
<a class="anchor" id="gaaf1078a0cd3a518d97f86bb57fc8476c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_SET_BAA_MASK&#160;&#160;&#160;0x00000400</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode set baa mask. </p>

</div>
</div>
<a class="anchor" id="gad43885a434da3b3ee177638e3728cd54"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_SET_BLS_MASK&#160;&#160;&#160;0x00001000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode set bls mask. </p>

</div>
</div>
<a class="anchor" id="ga0dba075cba1636a90d20c3c804217d6a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_SET_BURST_ALIGN_MASK&#160;&#160;&#160;0x0000E000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode set burst align mask. </p>

</div>
</div>
<a class="anchor" id="ga98fd193d788dedc6b2d825b8b948b2ed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_SET_MW_MASK&#160;&#160;&#160;0x00000003</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode set memory width mask. </p>

</div>
</div>
<a class="anchor" id="ga74133e97289fbaae73f5840bdbc86c6c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_SET_RD_BL_MASK&#160;&#160;&#160;0x00000038</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode set rd_bl mask. </p>

</div>
</div>
<a class="anchor" id="ga90a5a64d521f386167f189bcc0d7f326"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_SET_RD_SYNC_MASK&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode set rd_sync mask. </p>

</div>
</div>
<a class="anchor" id="gae2a7e1c5828216658ec8f24d28619316"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_SET_WR_BL_MASK&#160;&#160;&#160;0x00000380</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode set wr_bl mask. </p>

</div>
</div>
<a class="anchor" id="gaf3c17ec72aae7428a4688cec0d0bf1d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SET_OPMODE_SET_WR_SYNC_MASK&#160;&#160;&#160;0x00000040</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>Set opmode set wr_sync mask. </p>

</div>
</div>
<a class="anchor" id="gae65bbae2e96a9dac9761d10f848d691f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SPARE_SIZE_128&#160;&#160;&#160;128</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Spare bytes size 128. </p>

</div>
</div>
<a class="anchor" id="gac4be38cacac57be795ff109e2cb18c52"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SPARE_SIZE_16&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Spare bytes size 16. </p>

</div>
</div>
<a class="anchor" id="gaf4515a9ae43f9d59a46761a76c6d54e1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SPARE_SIZE_256&#160;&#160;&#160;256</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Spare bytes size 256. </p>

</div>
</div>
<a class="anchor" id="ga80364f49adb5fd80aa9da554688b2528"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SPARE_SIZE_32&#160;&#160;&#160;32</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Spare bytes size 32. </p>

</div>
</div>
<a class="anchor" id="ga87dd08d6423f9ab0e4c7d0ee6bc9ffab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SPARE_SIZE_64&#160;&#160;&#160;64</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Spare bytes size 64. </p>

</div>
</div>
<a class="anchor" id="gae374cba46e29672383ef07e18562d414"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_SPARE_SIZE_8&#160;&#160;&#160;8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Spare bytes size 8. </p>

</div>
</div>
<a class="anchor" id="ga67b3f66e20ed6e24fa34fc9646ba17c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_START_CMD_SHIFT&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>Start command shift. </p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes()</a>, and <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ga64695bd0d2752a225bcf02660dbba330"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_USER_CONFIG_MASK&#160;&#160;&#160;0x000000FF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>User config mask. </p>

</div>
</div>
<a class="anchor" id="gaf5e5c3cde493a3e91a3e98e5ff993a9e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_USER_CONFIG_OFFSET&#160;&#160;&#160;0x204</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>User config reg, WO. </p>

</div>
</div>
<a class="anchor" id="ga58e0615789d4e654d3143fcee3b30075"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_USER_STATUS_MASK&#160;&#160;&#160;0x000000FF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>User status mask. </p>

</div>
</div>
<a class="anchor" id="ga0e452979ec8c59e23b705f0e3da33eb6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNANDPS_USER_STATUS_OFFSET&#160;&#160;&#160;0x200</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__hw_8h.html">xnandps_hw.h</a>&gt;</code></p>

<p>User status reg, RO. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gaf0def4ad29325b821b3fd4127740dfbe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct_x_nand_ps_tag.html">XNandPsTag</a>  <a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>The XNandPs driver instance data. </p>
<p>The user is required to allocate a variable of this type for every flash device in the system. A pointer to a variable of this type is then passed to the driver API functions. </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gac876c6eb0d6c95869f0a68dccd44b975"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__nandps__v2__2.html#gac876c6eb0d6c95869f0a68dccd44b975">OnfiCommandsEnum</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8h.html">xnandps_onfi.h</a>&gt;</code></p>

<p>This enum defines the onfi commands. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975acb9be765f361bb7efb9073730aac92c6"></a>READ&#160;</td><td class="fielddoc">
<p>ONFI Read. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975a93048e7702ea73781e031c18191f6aec"></a>CHANGE_READ_COLUMN&#160;</td><td class="fielddoc">
<p>ONFI Change Read Column. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975a07c1d6a795c348f8633600a052d26dfd"></a>BLOCK_ERASE&#160;</td><td class="fielddoc">
<p>ONFI Block Erase. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975a451fb3a060f895e40024da81e03fe45a"></a>READ_STATUS&#160;</td><td class="fielddoc">
<p>ONFI Read Status. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975abe9758bc5df677605dcc22e1557c853a"></a>PAGE_PROGRAM&#160;</td><td class="fielddoc">
<p>ONFI Page Program. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975a7b8cd11c9f3d97de2d293b68927899d6"></a>CHANGE_WRITE_COLUMN&#160;</td><td class="fielddoc">
<p>ONFI Change Write Column. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975a08d1641fdf7c1a20c4f1563f57d958e8"></a>READ_ID&#160;</td><td class="fielddoc">
<p>ONFI Read ID. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975a1589226dbb8a8f0493a8a6df64943518"></a>READ_PARAM_PAGE&#160;</td><td class="fielddoc">
<p>ONFI Read Parameter Page. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975a589b7d94a3d91d145720e2fed0eb3a05"></a>RESET&#160;</td><td class="fielddoc">
<p>ONFI Reset. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975a9bf6ffa4f6227023e81c1b4ebd1ae5a1"></a>GET_FEATURES&#160;</td><td class="fielddoc">
<p>ONFI Get Features. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975a4dbe92307b1ecfc6eb4dfb3ee1f59cb7"></a>SET_FEATURES&#160;</td><td class="fielddoc">
<p>ONFI Set Features. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975a8b269d64de6c130671c1413fd0f2bbb2"></a>READ_CACHE_RANDOM&#160;</td><td class="fielddoc">
<p>ONFI Read page cache random. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975afb1d5bd781a173ff53cb79de689b1469"></a>READ_CACHE_END_SEQ&#160;</td><td class="fielddoc">
<p>ONFI Read page cache end. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggac876c6eb0d6c95869f0a68dccd44b975a917fd89fc6851edcf198f44f133ddf3a"></a>PAGE_CACHE_PROGRAM&#160;</td><td class="fielddoc">
<p>ONFI Program page cache. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga2318d7b320b74ae18f3b2b34beddd39e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__nandps__v2__2.html#ga2318d7b320b74ae18f3b2b34beddd39e">XNandPs_EccMode</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga2318d7b320b74ae18f3b2b34beddd39ea764dc0f2ad5c36c3c0bfe8be83352c58"></a>XNANDPS_ECC_NONE&#160;</td><td class="fielddoc">
<p>No ECC. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2318d7b320b74ae18f3b2b34beddd39ea1d1c061e9b23ef2b650fb39cebafef24"></a>XNANDPS_ECC_SW&#160;</td><td class="fielddoc">
<p>Software ECC. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2318d7b320b74ae18f3b2b34beddd39ea16a7c41d3ba75cba9ee48a3ba8c4d579"></a>XNANDPS_ECC_HW&#160;</td><td class="fielddoc">
<p>Hardware controller ECC. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2318d7b320b74ae18f3b2b34beddd39eaa4a36d982e1314e7221837be2a0c4671"></a>XNANDPS_ECC_ONDIE&#160;</td><td class="fielddoc">
<p>On-Die ECC. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga7f3a46694f4b3c4baffca71e6fcfebab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 Onfi_CmdReadStatus </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function sends read status command to the flash device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XNandPs instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>flash status value read</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_nand_ps_tag.html#ab1b1e7e123f5de23692bb7f7f757061a">XNandPsTag::Config</a>, <a class="el" href="struct_x_nand_ps_tag.html#a4be19061947af26c314f86e19aa2b45c">XNandPsTag::DataPhaseAddr</a>, <a class="el" href="struct_x_nand_ps___config.html#a234acdb7c26211dc2dbe1854d493e54b">XNandPs_Config::FlashWidth</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975a451fb3a060f895e40024da81e03fe45a">READ_STATUS</a>, <a class="el" href="group__nandps__v2__2.html#ga6ff24a4f5fb28e9057c240b4f4c89053">XNANDPS_COLUMN_NOT_VALID</a>, <a class="el" href="group__nandps__v2__2.html#gafc3945fad84cc8e5552911bbf71c8ff1">XNANDPS_FLASH_WIDTH_16</a>, <a class="el" href="group__nandps__v2__2.html#gae43a8aa10277b0e0db35b3d63732e8b4">XNANDPS_PAGE_NOT_VALID</a>, and <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga22b4e2bc1af7e4bfecd4428c25a77bb8">XNandPs_EraseBlock()</a>, <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>, <a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes()</a>, <a class="el" href="group__nandps__v2__2.html#gaebab330d0fd9efef74c26a50b5829d9f">XNandPs_Write()</a>, <a class="el" href="group__nandps__v2__2.html#ga8ecd5bb0fc73b3011ee0ba500e0161fe">XNandPs_WriteCache()</a>, and <a class="el" href="group__nandps__v2__2.html#gaa987d756af43c965a6439f077a4ce158">XNandPs_WriteSpareBytes()</a>.</p>

</div>
</div>
<a class="anchor" id="gacb42515d1fa541b8ac5e785d1fb7eefd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Onfi_NandInit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function initializes the NAND flash and gets the geometry information. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XNandPs instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if failed.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_nand_ps___command_format.html#a82db80bc15a0f098854ed8034187b36e">XNandPs_CommandFormat::AddrCycles</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975a07c1d6a795c348f8633600a052d26dfd">BLOCK_ERASE</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a27ad012d0279b497f04a927a6632a9ea">XNandPs_Geometry::BlockSize</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a31603ee2b8dd38cc703f9ab69e78e4a8">XNandPs_Geometry::BlocksPerLun</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a82dcd79f0e23602ab1fa79ee86ea9494">XNandPs_Geometry::BytesPerPage</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975a93048e7702ea73781e031c18191f6aec">CHANGE_READ_COLUMN</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975a7b8cd11c9f3d97de2d293b68927899d6">CHANGE_WRITE_COLUMN</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a602a44775b539f786e98dbcb50327454">XNandPs_Geometry::ColAddrCycles</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a9894e2b2ad34941cc39bb93eb47546ca">XNandPs_Geometry::DeviceSize</a>, <a class="el" href="struct_x_nand_ps_tag.html#a91ba66b90e531f68b393e22dc1e6fab5">XNandPsTag::EccMode</a>, <a class="el" href="struct_x_nand_ps_tag.html#aaef39c1b3d681967d9097bdae9069a27">XNandPsTag::Features</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a510a7e1a08583b34bf81a1b4752fc3c2">XNandPs_Geometry::FlashWidth</a>, <a class="el" href="struct_x_nand_ps_tag.html#ae87fd6bcc9622ee7d41abdbdaad61c35">XNandPsTag::Geometry</a>, <a class="el" href="struct_x_nand_ps___geometry.html#aba602d679c47c2a568b36b3c504dd440">XNandPs_Geometry::NumBlocks</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a10b5fb603fa6bc1dfdace2bbca647519">XNandPs_Geometry::NumLun</a>, <a class="el" href="struct_x_nand_ps___geometry.html#aab479df67abfeb4be7403b429daf53bd">XNandPs_Geometry::NumPages</a>, <a class="el" href="group__nandps__v2__2.html#ga27d88d8a093bb990046ae13730aa935e">ONFI_ID_LEN</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975abe9758bc5df677605dcc22e1557c853a">PAGE_PROGRAM</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a576a8a74bbfb359310107c333e0682d8">XNandPs_Geometry::PagesPerBlock</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975acb9be765f361bb7efb9073730aac92c6">READ</a>, <a class="el" href="struct_x_nand_ps___geometry.html#afd53531e448c5db979a145ba64214cee">XNandPs_Geometry::RowAddrCycles</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a204fb8075fb5a30f2919280d923e6e25">XNandPs_Geometry::SpareBytesPerPage</a>, <a class="el" href="group__nandps__v2__2.html#gga2318d7b320b74ae18f3b2b34beddd39ea16a7c41d3ba75cba9ee48a3ba8c4d579">XNANDPS_ECC_HW</a>, <a class="el" href="group__nandps__v2__2.html#gga2318d7b320b74ae18f3b2b34beddd39ea764dc0f2ad5c36c3c0bfe8be83352c58">XNANDPS_ECC_NONE</a>, <a class="el" href="group__nandps__v2__2.html#gga2318d7b320b74ae18f3b2b34beddd39eaa4a36d982e1314e7221837be2a0c4671">XNANDPS_ECC_ONDIE</a>, <a class="el" href="group__nandps__v2__2.html#gafc3945fad84cc8e5552911bbf71c8ff1">XNANDPS_FLASH_WIDTH_16</a>, <a class="el" href="group__nandps__v2__2.html#gab6ac2e4a23ac752e38789b80a8dba558">XNANDPS_FLASH_WIDTH_8</a>, and <a class="el" href="group__nandps__v2__2.html#ga9318e127efeabeb03b6c66cd5e49584c">XNANDPS_MAX_TARGETS</a>.</p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gaddb9f847fae34f6d137f591375a7c962">XNandPs_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="gaddb9f847fae34f6d137f591375a7c962"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNandPs_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_nand_ps___config.html">XNandPs_Config</a> *&#160;</td>
          <td class="paramname"><em>ConfigPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>SmcBaseAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>FlashBaseAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function initializes a specific XNandPs device/instance. </p>
<p>This function must be called prior to using the flash device to read or write any data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XNandPs instance. </td></tr>
    <tr><td class="paramname">ConfigPtr</td><td>points to the XNandPs device configuration structure. </td></tr>
    <tr><td class="paramname">SmcBaseAddr</td><td>is the base address of SMC controller. </td></tr>
    <tr><td class="paramname">FlashBaseAddr</td><td>is the base address of NAND flash.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The user needs to first call the <a class="el" href="group__nandps__v2__2.html#gad64edb80b795bb18ecceb9428b458903" title="This function looks up the device configuration based on the unique device ID. ">XNandPs_LookupConfig()</a> API which returns the Configuration structure pointer which is passed as a parameter to the <a class="el" href="group__nandps__v2__2.html#gaddb9f847fae34f6d137f591375a7c962" title="This function initializes a specific XNandPs device/instance. ">XNandPs_CfgInitialize()</a> API. </dd></dl>

<p>References <a class="el" href="struct_x_nand_ps___geometry.html#a82dcd79f0e23602ab1fa79ee86ea9494">XNandPs_Geometry::BytesPerPage</a>, <a class="el" href="struct_x_nand_ps_tag.html#ab1b1e7e123f5de23692bb7f7f757061a">XNandPsTag::Config</a>, <a class="el" href="struct_x_nand_ps_tag.html#aba2da858e8dc13045862f0da98bd0c0b">XNandPsTag::DataBuf</a>, <a class="el" href="struct_x_nand_ps___config.html#a26496c5a680018144f7e4ca3fc0ca549">XNandPs_Config::DeviceId</a>, <a class="el" href="struct_x_nand_ps_tag.html#a91ba66b90e531f68b393e22dc1e6fab5">XNandPsTag::EccMode</a>, <a class="el" href="struct_x_nand_ps___config.html#a0a1930e4ef28ad9c5d05e7bebafb14e0">XNandPs_Config::FlashBase</a>, <a class="el" href="struct_x_nand_ps___config.html#a234acdb7c26211dc2dbe1854d493e54b">XNandPs_Config::FlashWidth</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a510a7e1a08583b34bf81a1b4752fc3c2">XNandPs_Geometry::FlashWidth</a>, <a class="el" href="struct_x_nand_ps_tag.html#ae87fd6bcc9622ee7d41abdbdaad61c35">XNandPsTag::Geometry</a>, <a class="el" href="struct_x_nand_ps_tag.html#aad4084a7b6b1ea6b1ec350dd22203e50">XNandPsTag::IsReady</a>, <a class="el" href="group__nandps__v2__2.html#gacb42515d1fa541b8ac5e785d1fb7eefd">Onfi_NandInit()</a>, <a class="el" href="struct_x_nand_ps_tag.html#ab17e210f600664fa7639a535f07a1e71">XNandPsTag::ReadPage</a>, <a class="el" href="struct_x_nand_ps___config.html#a7fb228465433017747bbf8a9bd9601d7">XNandPs_Config::SmcBase</a>, <a class="el" href="struct_x_nand_ps_tag.html#a25507ef0fe95e9b0b871e03e65731cba">XNandPsTag::SpareBufPtr</a>, <a class="el" href="struct_x_nand_ps_tag.html#a0fdb4fa82248796a6a294cdbace8f114">XNandPsTag::WritePage</a>, <a class="el" href="group__nandps__v2__2.html#gaf646761218a609e83c43bbec343cdc4f">XNANDPS_CLR_CONFIG</a>, <a class="el" href="group__nandps__v2__2.html#gga2318d7b320b74ae18f3b2b34beddd39ea16a7c41d3ba75cba9ee48a3ba8c4d579">XNANDPS_ECC_HW</a>, <a class="el" href="group__nandps__v2__2.html#gga2318d7b320b74ae18f3b2b34beddd39ea764dc0f2ad5c36c3c0bfe8be83352c58">XNANDPS_ECC_NONE</a>, <a class="el" href="group__nandps__v2__2.html#gga2318d7b320b74ae18f3b2b34beddd39eaa4a36d982e1314e7221837be2a0c4671">XNANDPS_ECC_ONDIE</a>, <a class="el" href="group__nandps__v2__2.html#ga92acb0aedbfa7e76759062d70a2c4a67">XNandPs_InitBbtDesc()</a>, <a class="el" href="group__nandps__v2__2.html#gaaaaf55b8085d1dcfcde3756a36c7ff41">XNANDPS_MEMC_CLR_CONFIG_OFFSET</a>, <a class="el" href="group__nandps__v2__2.html#ga454c0738c0ffe28c49ba8fced47e8d9c">XNandPs_ScanBbt()</a>, and <a class="el" href="xnandps__hw_8h.html#ac87bcc9e0fec61b2b02b9a434962e576">XNandPs_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga22b4e2bc1af7e4bfecd4428c25a77bb8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNandPs_EraseBlock </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BlockNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function erases a specific block in the NAND device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XNandPs instance. </td></tr>
    <tr><td class="paramname">BlockNum</td><td>is the block number of the device. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail.</li>
<li>XST_NAND_WRITE_PROTECTED if the flash is write protected.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975a07c1d6a795c348f8633600a052d26dfd">BLOCK_ERASE</a>, <a class="el" href="struct_x_nand_ps_tag.html#ab1b1e7e123f5de23692bb7f7f757061a">XNandPsTag::Config</a>, <a class="el" href="struct_x_nand_ps_tag.html#ae87fd6bcc9622ee7d41abdbdaad61c35">XNandPsTag::Geometry</a>, <a class="el" href="struct_x_nand_ps_tag.html#aad4084a7b6b1ea6b1ec350dd22203e50">XNandPsTag::IsReady</a>, <a class="el" href="group__nandps__v2__2.html#ga7f3a46694f4b3c4baffca71e6fcfebab">Onfi_CmdReadStatus()</a>, <a class="el" href="group__nandps__v2__2.html#ga8be0ae53753ead584ac71c2898d5d9e3">ONFI_STATUS_WP</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a576a8a74bbfb359310107c333e0682d8">XNandPs_Geometry::PagesPerBlock</a>, <a class="el" href="struct_x_nand_ps___config.html#a7fb228465433017747bbf8a9bd9601d7">XNandPs_Config::SmcBase</a>, <a class="el" href="group__nandps__v2__2.html#ga6ff24a4f5fb28e9057c240b4f4c89053">XNANDPS_COLUMN_NOT_VALID</a>, <a class="el" href="group__nandps__v2__2.html#ga0c56dde06594c0e2a7deac16d7291f4a">XNANDPS_MEMC_CLR_CONFIG_INT_CLR1_MASK</a>, <a class="el" href="group__nandps__v2__2.html#gaaaaf55b8085d1dcfcde3756a36c7ff41">XNANDPS_MEMC_CLR_CONFIG_OFFSET</a>, <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>, and <a class="el" href="xnandps__hw_8h.html#ac87bcc9e0fec61b2b02b9a434962e576">XNandPs_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga92acb0aedbfa7e76759062d70a2c4a67"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XNandPs_InitBbtDesc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function initializes the Bad Block Table(BBT) descriptors with a predefined pattern for searching Bad Block Table(BBT) in flash. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XNandPs instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>NONE </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_nand_ps_tag.html#a00c4968d1371e52d8236782c50e36452">XNandPsTag::BbPattern</a>, <a class="el" href="struct_x_nand_ps_tag.html#abcecaf1e47f62b9c985a6078cf4d5fc7">XNandPsTag::BbtDesc</a>, <a class="el" href="struct_x_nand_ps_tag.html#a83046030135b11b8c13c98f1c39ef2e6">XNandPsTag::BbtMirrorDesc</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a82dcd79f0e23602ab1fa79ee86ea9494">XNandPs_Geometry::BytesPerPage</a>, <a class="el" href="struct_x_nand_ps_tag.html#a91ba66b90e531f68b393e22dc1e6fab5">XNandPsTag::EccMode</a>, <a class="el" href="struct_x_nand_ps_tag.html#ae87fd6bcc9622ee7d41abdbdaad61c35">XNandPsTag::Geometry</a>, <a class="el" href="struct_x_nand_ps_tag.html#aad4084a7b6b1ea6b1ec350dd22203e50">XNandPsTag::IsReady</a>, <a class="el" href="struct_x_nand_ps___bad_block_pattern.html#a826e0b5484ee7377da4ca47ca45df584">XNandPs_BadBlockPattern::Length</a>, <a class="el" href="struct_x_nand_ps___bbt_desc.html#ae721a5302b9ed20c4cd4eecd450cd612">XNandPs_BbtDesc::MaxBlocks</a>, <a class="el" href="struct_x_nand_ps___bad_block_pattern.html#ab867944767569bd68b27802773fded54">XNandPs_BadBlockPattern::Offset</a>, <a class="el" href="struct_x_nand_ps___bad_block_pattern.html#ace3f3a1bd6474b1db80641a24fc8490f">XNandPs_BadBlockPattern::Options</a>, <a class="el" href="struct_x_nand_ps___bbt_desc.html#a16893430fad70cd5b2121e5fb331bbbb">XNandPs_BbtDesc::PageOffset</a>, <a class="el" href="struct_x_nand_ps___bad_block_pattern.html#a9c1f59c04f5e756227c129e69d1fb45f">XNandPs_BadBlockPattern::Pattern</a>, <a class="el" href="struct_x_nand_ps___bbt_desc.html#a3d91d5bd2b9cb468e2232dbf28339d7f">XNandPs_BbtDesc::SigLength</a>, <a class="el" href="struct_x_nand_ps___bbt_desc.html#a91b6593abad5f5eeb8e69030110381f4">XNandPs_BbtDesc::Signature</a>, <a class="el" href="struct_x_nand_ps___bbt_desc.html#aaeafe1d72c4c3c25ef8d81f64cc19370">XNandPs_BbtDesc::SigOffset</a>, <a class="el" href="struct_x_nand_ps___bbt_desc.html#a08bf6a3876905cc8cd8fb858a29faea4">XNandPs_BbtDesc::Valid</a>, <a class="el" href="struct_x_nand_ps___bbt_desc.html#afa8974f0829f8e1f72b6df0ab31002d5">XNandPs_BbtDesc::VerOffset</a>, <a class="el" href="struct_x_nand_ps___bbt_desc.html#a894c8610ffe5a988185cb7e3dbdd0cf9">XNandPs_BbtDesc::Version</a>, <a class="el" href="group__nandps__v2__2.html#ga7f1a2e914cdaa10ad2c730958cbffc98">XNANDPS_BB_PATTERN</a>, <a class="el" href="group__nandps__v2__2.html#ga89b88c9d4f553dcac407ca987afaa775">XNANDPS_BB_PATTERN_LENGTH_LARGE_PAGE</a>, <a class="el" href="group__nandps__v2__2.html#gafed66cfe949f16e69c3a99b0183183d9">XNANDPS_BB_PATTERN_LENGTH_SMALL_PAGE</a>, <a class="el" href="group__nandps__v2__2.html#gabc8529210c261e24ffbeae2ec2774702">XNANDPS_BB_PATTERN_OFFSET_LARGE_PAGE</a>, <a class="el" href="group__nandps__v2__2.html#ga923e66dcd7aa633f9d7834f37366a7ef">XNANDPS_BB_PATTERN_OFFSET_SMALL_PAGE</a>, <a class="el" href="group__nandps__v2__2.html#ga7ea379639132add0b9fa16f9f5faddc9">XNANDPS_BBT_DESC_MAX_BLOCKS</a>, <a class="el" href="group__nandps__v2__2.html#ga4b345667d0e5773945afba7f32e71197">XNANDPS_BBT_DESC_PAGE_OFFSET</a>, <a class="el" href="group__nandps__v2__2.html#ga13ccee0248f97c8797d2d8cc91c9c235">XNANDPS_BBT_DESC_SIG_LEN</a>, <a class="el" href="group__nandps__v2__2.html#ga574ae11e1b61cbe8c252809811b7e9a4">XNANDPS_BBT_DESC_SIG_OFFSET</a>, <a class="el" href="group__nandps__v2__2.html#gaab896c9f1fca0c7c89748f5e8fef9f28">XNANDPS_BBT_DESC_VER_OFFSET</a>, <a class="el" href="group__nandps__v2__2.html#ga5457296025d8fd9a120bb91e9d758127">XNANDPS_BBT_SCAN_2ND_PAGE</a>, and <a class="el" href="group__nandps__v2__2.html#gga2318d7b320b74ae18f3b2b34beddd39eaa4a36d982e1314e7221837be2a0c4671">XNANDPS_ECC_ONDIE</a>.</p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gaddb9f847fae34f6d137f591375a7c962">XNandPs_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5744d2e6e03eb2b815771cf660ab2e11"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNandPs_IsBlockBad </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Block</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8c.html">xnandps_bbm.c</a>&gt;</code></p>

<p>This function checks whether a block is bad or not. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the XNandPs instance.</td></tr>
    <tr><td class="paramname">Block</td><td>is the block number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_nand_ps_tag.html#a29ecaa7b4ab49c591e0a52fa425d1ff3">XNandPsTag::Bbt</a>, <a class="el" href="struct_x_nand_ps_tag.html#aad4084a7b6b1ea6b1ec350dd22203e50">XNandPsTag::IsReady</a>, <a class="el" href="group__nandps__v2__2.html#ga6b09191846a32df39daaa50cb7e7ab0a">XNANDPS_BBT_BLOCK_SHIFT</a>, <a class="el" href="group__nandps__v2__2.html#ga820a56f0443165ef4e45daafb8bfb604">XNandPs_BbtBlockShift</a>, <a class="el" href="group__nandps__v2__2.html#ga8ffc4c5be52b4ca7d07c2b5a159bec99">XNANDPS_BLOCK_GOOD</a>, and <a class="el" href="group__nandps__v2__2.html#gac547ca7c91b79d5437cf58f29c0fda1e">XNANDPS_BLOCK_TYPE_MASK</a>.</p>

</div>
</div>
<a class="anchor" id="gad64edb80b795bb18ecceb9428b458903"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_nand_ps___config.html">XNandPs_Config</a> * XNandPs_LookupConfig </td>
          <td>(</td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8h.html">xnandps.h</a>&gt;</code></p>

<p>This function looks up the device configuration based on the unique device ID. </p>
<p>The table XNandPs_ConfigTable contains the configuration info for each device in the system.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>contains the ID of the device for which the device configuration pointer is to be returned.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>A pointer to the configuration found.</li>
<li>NULL if the specified device ID was not found.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="ga65ec4f2496ae641d1306089dff5416b2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNandPs_MarkBlockBad </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Block</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__bbm_8c.html">xnandps_bbm.c</a>&gt;</code></p>

<p>This function marks a block as bad in the RAM based Bad Block Table(BBT). </p>
<p>It also updates the Bad Block Table(BBT) in the flash.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the XNandPs instance. </td></tr>
    <tr><td class="paramname">Block</td><td>is the block number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_nand_ps_tag.html#a29ecaa7b4ab49c591e0a52fa425d1ff3">XNandPsTag::Bbt</a>, <a class="el" href="struct_x_nand_ps_tag.html#aad4084a7b6b1ea6b1ec350dd22203e50">XNandPsTag::IsReady</a>, <a class="el" href="group__nandps__v2__2.html#ga6b09191846a32df39daaa50cb7e7ab0a">XNANDPS_BBT_BLOCK_SHIFT</a>, <a class="el" href="group__nandps__v2__2.html#ga820a56f0443165ef4e45daafb8bfb604">XNandPs_BbtBlockShift</a>, <a class="el" href="group__nandps__v2__2.html#ga52a13ba6c5dc5ae22cad93b73ec66503">XNANDPS_BLOCK_BAD</a>, and <a class="el" href="group__nandps__v2__2.html#gac547ca7c91b79d5437cf58f29c0fda1e">XNANDPS_BLOCK_TYPE_MASK</a>.</p>

</div>
</div>
<a class="anchor" id="ga8e72425d265074f1c2f8c66edfd22857"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNandPs_Read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>Offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>DestPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>UserSparePtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function reads the data from the Flash device and copies it into the specified user buffer. </p>
<p>It doesn't check for the bad blocks while reading the flash pages that cross block boundary. User must take care of handling bad blocks.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the XNandPs instance. </td></tr>
    <tr><td class="paramname">Offset</td><td>is the flash data address to read from. </td></tr>
    <tr><td class="paramname">Length</td><td>is number of bytes to read. </td></tr>
    <tr><td class="paramname">DestPtr</td><td>is the destination address to copy data to. </td></tr>
    <tr><td class="paramname">UserSparePtr</td><td>is the user buffer to which spare data must be copied.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function reads sequential pages from the Flash device. </dd></dl>

<p>References <a class="el" href="struct_x_nand_ps___geometry.html#a82dcd79f0e23602ab1fa79ee86ea9494">XNandPs_Geometry::BytesPerPage</a>, <a class="el" href="struct_x_nand_ps_tag.html#ab1b1e7e123f5de23692bb7f7f757061a">XNandPsTag::Config</a>, <a class="el" href="struct_x_nand_ps_tag.html#aba2da858e8dc13045862f0da98bd0c0b">XNandPsTag::DataBuf</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a9894e2b2ad34941cc39bb93eb47546ca">XNandPs_Geometry::DeviceSize</a>, <a class="el" href="struct_x_nand_ps_tag.html#ae87fd6bcc9622ee7d41abdbdaad61c35">XNandPsTag::Geometry</a>, <a class="el" href="struct_x_nand_ps_tag.html#aad4084a7b6b1ea6b1ec350dd22203e50">XNandPsTag::IsReady</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975acb9be765f361bb7efb9073730aac92c6">READ</a>, <a class="el" href="struct_x_nand_ps_tag.html#ab17e210f600664fa7639a535f07a1e71">XNandPsTag::ReadPage</a>, <a class="el" href="struct_x_nand_ps___config.html#a7fb228465433017747bbf8a9bd9601d7">XNandPs_Config::SmcBase</a>, <a class="el" href="struct_x_nand_ps_tag.html#a25507ef0fe95e9b0b871e03e65731cba">XNandPsTag::SpareBufPtr</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a204fb8075fb5a30f2919280d923e6e25">XNandPs_Geometry::SpareBytesPerPage</a>, <a class="el" href="group__nandps__v2__2.html#ga1455c0fa3b20e01561924b2a162c07ab">XNANDPS_ECC_CMD1</a>, <a class="el" href="group__nandps__v2__2.html#ga2b1034e7d5e29d8613b34c16a8c491ca">XNANDPS_ECC_CMD2</a>, <a class="el" href="group__nandps__v2__2.html#ga0c56dde06594c0e2a7deac16d7291f4a">XNANDPS_MEMC_CLR_CONFIG_INT_CLR1_MASK</a>, <a class="el" href="group__nandps__v2__2.html#gaaaaf55b8085d1dcfcde3756a36c7ff41">XNANDPS_MEMC_CLR_CONFIG_OFFSET</a>, <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>, and <a class="el" href="xnandps__hw_8h.html#ac87bcc9e0fec61b2b02b9a434962e576">XNandPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>.</p>

</div>
</div>
<a class="anchor" id="ga605bd783f065806f1d1f602f88128f9b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNandPs_ReadCache </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>Offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>DestPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>UserSparePtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function reads the data from the Flash device using read page cache command and copies it into the specified user buffer. </p>
<p>It doesn't check for the bad blocks while reading the flash pages that cross block boundary. User must take care of handling bad blocks.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the XNandPs instance. </td></tr>
    <tr><td class="paramname">Offset</td><td>is the flash data address to read from. </td></tr>
    <tr><td class="paramname">Length</td><td>is number of bytes to read. </td></tr>
    <tr><td class="paramname">DestPtr</td><td>is the destination address to copy data to. </td></tr>
    <tr><td class="paramname">UserSparePtr</td><td>is the user buffer to which spare data must be copied.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function reads sequential pages from the Flash device. </dd></dl>

<p>References <a class="el" href="struct_x_nand_ps___geometry.html#a82dcd79f0e23602ab1fa79ee86ea9494">XNandPs_Geometry::BytesPerPage</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975a93048e7702ea73781e031c18191f6aec">CHANGE_READ_COLUMN</a>, <a class="el" href="struct_x_nand_ps_tag.html#ab1b1e7e123f5de23692bb7f7f757061a">XNandPsTag::Config</a>, <a class="el" href="struct_x_nand_ps_tag.html#aba2da858e8dc13045862f0da98bd0c0b">XNandPsTag::DataBuf</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a9894e2b2ad34941cc39bb93eb47546ca">XNandPs_Geometry::DeviceSize</a>, <a class="el" href="struct_x_nand_ps_tag.html#aaef39c1b3d681967d9097bdae9069a27">XNandPsTag::Features</a>, <a class="el" href="struct_x_nand_ps_tag.html#ae87fd6bcc9622ee7d41abdbdaad61c35">XNandPsTag::Geometry</a>, <a class="el" href="struct_x_nand_ps_tag.html#aad4084a7b6b1ea6b1ec350dd22203e50">XNandPsTag::IsReady</a>, <a class="el" href="group__nandps__v2__2.html#ga2ed529448055585d56229d1371be0c0c">ONFI_CMD_CHANGE_READ_COLUMN1</a>, <a class="el" href="group__nandps__v2__2.html#gab3332307f2dd066c0fafb7e5fd0ff7cb">ONFI_CMD_CHANGE_READ_COLUMN2</a>, <a class="el" href="group__nandps__v2__2.html#ga65c3a1712dbf6b78ac8fdd26f2ad4955">ONFI_CMD_PAGE_CACHE_PROGRAM1</a>, <a class="el" href="group__nandps__v2__2.html#ga1c5c8ebf4ecb5594f01444d358048c25">ONFI_CMD_READ_CACHE_ENHANCED1</a>, <a class="el" href="group__nandps__v2__2.html#ga636d60b79e0600b0c493904f1af19360">ONFI_CMD_READ_CACHE_ENHANCED2</a>, <a class="el" href="group__nandps__v2__2.html#ga7f3a46694f4b3c4baffca71e6fcfebab">Onfi_CmdReadStatus()</a>, <a class="el" href="group__nandps__v2__2.html#ga44013e5fb725c1b3233359b2fb14a4d3">ONFI_STATUS_FAIL</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975acb9be765f361bb7efb9073730aac92c6">READ</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975afb1d5bd781a173ff53cb79de689b1469">READ_CACHE_END_SEQ</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975a8b269d64de6c130671c1413fd0f2bbb2">READ_CACHE_RANDOM</a>, <a class="el" href="struct_x_nand_ps_tag.html#ab17e210f600664fa7639a535f07a1e71">XNandPsTag::ReadPage</a>, <a class="el" href="struct_x_nand_ps___config.html#a7fb228465433017747bbf8a9bd9601d7">XNandPs_Config::SmcBase</a>, <a class="el" href="struct_x_nand_ps_tag.html#a25507ef0fe95e9b0b871e03e65731cba">XNandPsTag::SpareBufPtr</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a204fb8075fb5a30f2919280d923e6e25">XNandPs_Geometry::SpareBytesPerPage</a>, <a class="el" href="group__nandps__v2__2.html#ga6ff24a4f5fb28e9057c240b4f4c89053">XNANDPS_COLUMN_NOT_VALID</a>, <a class="el" href="xnandps__hw_8h.html#a03fd8c5deeae17b62baa533120b96527">XNANDPS_ECC_MEMCOMMAND1_RD_CMD_END_VALID_MASK</a>, <a class="el" href="group__nandps__v2__2.html#ga0c56dde06594c0e2a7deac16d7291f4a">XNANDPS_MEMC_CLR_CONFIG_INT_CLR1_MASK</a>, <a class="el" href="group__nandps__v2__2.html#gaaaaf55b8085d1dcfcde3756a36c7ff41">XNANDPS_MEMC_CLR_CONFIG_OFFSET</a>, <a class="el" href="group__nandps__v2__2.html#gae43a8aa10277b0e0db35b3d63732e8b4">XNANDPS_PAGE_NOT_VALID</a>, <a class="el" href="group__nandps__v2__2.html#ga8e72425d265074f1c2f8c66edfd22857">XNandPs_Read()</a>, <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>, and <a class="el" href="xnandps__hw_8h.html#ac87bcc9e0fec61b2b02b9a434962e576">XNandPs_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="gaf9857df5e1359875e429f66e46ca5a86"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNandPs_ReadSpareBytes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Page</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>Buf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function reads the spare area of a page. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the XNandPs instance. </td></tr>
    <tr><td class="paramname">Page</td><td>is the page number from where spare data is read. </td></tr>
    <tr><td class="paramname">Buf</td><td>is pointer to the buffer where the spare data is filled.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_nand_ps___geometry.html#a82dcd79f0e23602ab1fa79ee86ea9494">XNandPs_Geometry::BytesPerPage</a>, <a class="el" href="struct_x_nand_ps_tag.html#ab1b1e7e123f5de23692bb7f7f757061a">XNandPsTag::Config</a>, <a class="el" href="struct_x_nand_ps_tag.html#a4be19061947af26c314f86e19aa2b45c">XNandPsTag::DataPhaseAddr</a>, <a class="el" href="struct_x_nand_ps_tag.html#a91ba66b90e531f68b393e22dc1e6fab5">XNandPsTag::EccMode</a>, <a class="el" href="struct_x_nand_ps___config.html#a0a1930e4ef28ad9c5d05e7bebafb14e0">XNandPs_Config::FlashBase</a>, <a class="el" href="struct_x_nand_ps_tag.html#ae87fd6bcc9622ee7d41abdbdaad61c35">XNandPsTag::Geometry</a>, <a class="el" href="group__nandps__v2__2.html#ga7f3a46694f4b3c4baffca71e6fcfebab">Onfi_CmdReadStatus()</a>, <a class="el" href="group__nandps__v2__2.html#ga44013e5fb725c1b3233359b2fb14a4d3">ONFI_STATUS_FAIL</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975acb9be765f361bb7efb9073730aac92c6">READ</a>, <a class="el" href="struct_x_nand_ps___config.html#a7fb228465433017747bbf8a9bd9601d7">XNandPs_Config::SmcBase</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a204fb8075fb5a30f2919280d923e6e25">XNandPs_Geometry::SpareBytesPerPage</a>, <a class="el" href="group__nandps__v2__2.html#ga1de1dd0bf041bea85027589c4e74a508">XNANDPS_ADDR_CYCLES_SHIFT</a>, <a class="el" href="group__nandps__v2__2.html#gaa5036c69cee2c0eea308d4fc74e7ffdc">XNANDPS_AXI_DATA_WIDTH</a>, <a class="el" href="group__nandps__v2__2.html#gae8e59d6704246c9a18cbc9ddf8990105">XNANDPS_CLR_CS</a>, <a class="el" href="group__nandps__v2__2.html#ga00a9136efdc3fd5e96398831d1f582b3">XNANDPS_COMMAND_PHASE_MASK</a>, <a class="el" href="group__nandps__v2__2.html#gga2318d7b320b74ae18f3b2b34beddd39ea16a7c41d3ba75cba9ee48a3ba8c4d579">XNANDPS_ECC_HW</a>, <a class="el" href="group__nandps__v2__2.html#gac0c544102cd92afcdadad4a539501a0b">XNANDPS_END_CMD_SHIFT</a>, <a class="el" href="group__nandps__v2__2.html#gac99a2d1110d9fb8c528f7256fbe2c804">XNANDPS_END_CMD_VALID_SHIFT</a>, <a class="el" href="group__nandps__v2__2.html#ga0c56dde06594c0e2a7deac16d7291f4a">XNANDPS_MEMC_CLR_CONFIG_INT_CLR1_MASK</a>, <a class="el" href="group__nandps__v2__2.html#gaaaaf55b8085d1dcfcde3756a36c7ff41">XNANDPS_MEMC_CLR_CONFIG_OFFSET</a>, <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>, <a class="el" href="group__nandps__v2__2.html#ga67b3f66e20ed6e24fa34fc9646ba17c5">XNANDPS_START_CMD_SHIFT</a>, and <a class="el" href="xnandps__hw_8h.html#ac87bcc9e0fec61b2b02b9a434962e576">XNandPs_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga454c0738c0ffe28c49ba8fced47e8d9c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNandPs_ScanBbt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function reads the Bad Block Table(BBT) if present in flash. </p>
<p>If not it scans the flash for detecting factory marked bad blocks and creates a bad block table and write the Bad Block Table(BBT) into the flash.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the XNandPs instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_nand_ps_tag.html#abcecaf1e47f62b9c985a6078cf4d5fc7">XNandPsTag::BbtDesc</a>, <a class="el" href="struct_x_nand_ps_tag.html#a83046030135b11b8c13c98f1c39ef2e6">XNandPsTag::BbtMirrorDesc</a>, and <a class="el" href="struct_x_nand_ps_tag.html#aad4084a7b6b1ea6b1ec350dd22203e50">XNandPsTag::IsReady</a>.</p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#gaddb9f847fae34f6d137f591375a7c962">XNandPs_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="gae2862ccd7e9180b843d9e73e2a8c7e7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XNandPs_SendCommand </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_nand_ps___command_format.html">XNandPs_CommandFormat</a> *&#160;</td>
          <td class="paramname"><em>Command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Page</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Column</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function sends a NAND command to the flash device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to XNandPs struture </td></tr>
    <tr><td class="paramname">Command</td><td>is the NAND command to send </td></tr>
    <tr><td class="paramname">Page</td><td>is the page offset required for specific commands </td></tr>
    <tr><td class="paramname">Column</td><td>the column offset required for specific commands</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_nand_ps___command_format.html#a82db80bc15a0f098854ed8034187b36e">XNandPs_CommandFormat::AddrCycles</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a602a44775b539f786e98dbcb50327454">XNandPs_Geometry::ColAddrCycles</a>, <a class="el" href="struct_x_nand_ps_tag.html#a6d919091ec87fbd2ff032ba5650ec51a">XNandPsTag::CommandPhaseAddr</a>, <a class="el" href="struct_x_nand_ps_tag.html#ab1b1e7e123f5de23692bb7f7f757061a">XNandPsTag::Config</a>, <a class="el" href="struct_x_nand_ps_tag.html#a4be19061947af26c314f86e19aa2b45c">XNandPsTag::DataPhaseAddr</a>, <a class="el" href="struct_x_nand_ps___command_format.html#add044f5e1abe6bf7857d6e0d678b0ae8">XNandPs_CommandFormat::EndCmd</a>, <a class="el" href="struct_x_nand_ps___command_format.html#a4fc076b266b7ef2cc79e059c7ef4e59b">XNandPs_CommandFormat::EndCmdValid</a>, <a class="el" href="struct_x_nand_ps___config.html#a0a1930e4ef28ad9c5d05e7bebafb14e0">XNandPs_Config::FlashBase</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a510a7e1a08583b34bf81a1b4752fc3c2">XNandPs_Geometry::FlashWidth</a>, <a class="el" href="struct_x_nand_ps_tag.html#ae87fd6bcc9622ee7d41abdbdaad61c35">XNandPsTag::Geometry</a>, <a class="el" href="group__nandps__v2__2.html#ga55dfb210683392ea30b195809ed4cbc5">ONFI_CMD_BLOCK_ERASE1</a>, <a class="el" href="group__nandps__v2__2.html#ga3d0794886aabbc021e8e0f85ef9893a1">ONFI_CMD_PAGE_PROG1</a>, <a class="el" href="group__nandps__v2__2.html#ga58126625dc0ff8e6d1866433ab9342d1">ONFI_CMD_READ1</a>, <a class="el" href="struct_x_nand_ps___geometry.html#afd53531e448c5db979a145ba64214cee">XNandPs_Geometry::RowAddrCycles</a>, <a class="el" href="struct_x_nand_ps___command_format.html#abab8ebd07b5838c58667294329488788">XNandPs_CommandFormat::StartCmd</a>, <a class="el" href="group__nandps__v2__2.html#ga1de1dd0bf041bea85027589c4e74a508">XNANDPS_ADDR_CYCLES_SHIFT</a>, <a class="el" href="group__nandps__v2__2.html#gae7b09bd31246d8fb20332ca2c66664f3">XNANDPS_CLEAR_CS_SHIFT</a>, <a class="el" href="group__nandps__v2__2.html#ga12a3bec18f94247283675686fe54f3c0">XNANDPS_CMD_PHASE</a>, <a class="el" href="group__nandps__v2__2.html#ga6ff24a4f5fb28e9057c240b4f4c89053">XNANDPS_COLUMN_NOT_VALID</a>, <a class="el" href="group__nandps__v2__2.html#ga00a9136efdc3fd5e96398831d1f582b3">XNANDPS_COMMAND_PHASE_MASK</a>, <a class="el" href="group__nandps__v2__2.html#gab49f78a892cc541c162a801d793db174">XNANDPS_DATA_PHASE</a>, <a class="el" href="group__nandps__v2__2.html#ga25acc37295a6d972e6881ccd72ad5344">XNANDPS_DATA_PHASE_MASK</a>, <a class="el" href="group__nandps__v2__2.html#gacd1087ff09a54e6c99d8bbc00804dcd4">XNANDPS_ECC_LAST_SHIFT</a>, <a class="el" href="group__nandps__v2__2.html#gac0c544102cd92afcdadad4a539501a0b">XNANDPS_END_CMD_SHIFT</a>, <a class="el" href="group__nandps__v2__2.html#gac99a2d1110d9fb8c528f7256fbe2c804">XNANDPS_END_CMD_VALID_SHIFT</a>, <a class="el" href="group__nandps__v2__2.html#gafc3945fad84cc8e5552911bbf71c8ff1">XNANDPS_FLASH_WIDTH_16</a>, <a class="el" href="group__nandps__v2__2.html#gae43a8aa10277b0e0db35b3d63732e8b4">XNANDPS_PAGE_NOT_VALID</a>, <a class="el" href="group__nandps__v2__2.html#ga67b3f66e20ed6e24fa34fc9646ba17c5">XNANDPS_START_CMD_SHIFT</a>, and <a class="el" href="xnandps__hw_8h.html#ac87bcc9e0fec61b2b02b9a434962e576">XNandPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga7f3a46694f4b3c4baffca71e6fcfebab">Onfi_CmdReadStatus()</a>, <a class="el" href="group__nandps__v2__2.html#ga22b4e2bc1af7e4bfecd4428c25a77bb8">XNandPs_EraseBlock()</a>, <a class="el" href="group__nandps__v2__2.html#ga8e72425d265074f1c2f8c66edfd22857">XNandPs_Read()</a>, <a class="el" href="group__nandps__v2__2.html#ga605bd783f065806f1d1f602f88128f9b">XNandPs_ReadCache()</a>, <a class="el" href="group__nandps__v2__2.html#gaf9857df5e1359875e429f66e46ca5a86">XNandPs_ReadSpareBytes()</a>, <a class="el" href="group__nandps__v2__2.html#gaebab330d0fd9efef74c26a50b5829d9f">XNandPs_Write()</a>, <a class="el" href="group__nandps__v2__2.html#ga8ecd5bb0fc73b3011ee0ba500e0161fe">XNandPs_WriteCache()</a>, and <a class="el" href="group__nandps__v2__2.html#gaa987d756af43c965a6439f077a4ce158">XNandPs_WriteSpareBytes()</a>.</p>

</div>
</div>
<a class="anchor" id="gaebab330d0fd9efef74c26a50b5829d9f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNandPs_Write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>Offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>SrcPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>UserSparePtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function programs the flash device(s) with data specified in the user buffer. </p>
<p>The source and destination address must be aligned to the width of the flash's data bus. It doesn't check for the bad blocks while writing to the flash pages that cross block boundary. User must take care of handling bad blocks.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the XNandPs instance. </td></tr>
    <tr><td class="paramname">Offset</td><td>is the flash data address to write to. </td></tr>
    <tr><td class="paramname">Length</td><td>is number of bytes to write. </td></tr>
    <tr><td class="paramname">SrcPtr</td><td>is the source address to write the data from. </td></tr>
    <tr><td class="paramname">UserSparePtr</td><td>is the user buffer which contains buffer to write into spare data area.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail.</li>
<li>XST_NAND_WRITE_PROTECTED if the flash is write protected.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function writes number of sequential pages into the Flash device. </dd></dl>

<p>References <a class="el" href="struct_x_nand_ps___geometry.html#a82dcd79f0e23602ab1fa79ee86ea9494">XNandPs_Geometry::BytesPerPage</a>, <a class="el" href="struct_x_nand_ps_tag.html#aba2da858e8dc13045862f0da98bd0c0b">XNandPsTag::DataBuf</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a9894e2b2ad34941cc39bb93eb47546ca">XNandPs_Geometry::DeviceSize</a>, <a class="el" href="struct_x_nand_ps_tag.html#ae87fd6bcc9622ee7d41abdbdaad61c35">XNandPsTag::Geometry</a>, <a class="el" href="struct_x_nand_ps_tag.html#aad4084a7b6b1ea6b1ec350dd22203e50">XNandPsTag::IsReady</a>, <a class="el" href="group__nandps__v2__2.html#ga7f3a46694f4b3c4baffca71e6fcfebab">Onfi_CmdReadStatus()</a>, <a class="el" href="group__nandps__v2__2.html#ga8be0ae53753ead584ac71c2898d5d9e3">ONFI_STATUS_WP</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975abe9758bc5df677605dcc22e1557c853a">PAGE_PROGRAM</a>, <a class="el" href="struct_x_nand_ps_tag.html#a25507ef0fe95e9b0b871e03e65731cba">XNandPsTag::SpareBufPtr</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a204fb8075fb5a30f2919280d923e6e25">XNandPs_Geometry::SpareBytesPerPage</a>, <a class="el" href="struct_x_nand_ps_tag.html#a0fdb4fa82248796a6a294cdbace8f114">XNandPsTag::WritePage</a>, and <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>.</p>

<p>Referenced by <a class="el" href="group__nandps__v2__2.html#ga8ecd5bb0fc73b3011ee0ba500e0161fe">XNandPs_WriteCache()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8ecd5bb0fc73b3011ee0ba500e0161fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNandPs_WriteCache </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>Offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>SrcPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>UserSparePtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function programs the flash device(s) with data specified in the user buffer using program cache command. </p>
<p>The source and destination address must be aligned to the width of the flash's data bus. It doesn't check for the bad blocks while writing to the flash pages that cross block boundary. User must take care of handling bad blocks.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the XNandPs instance. </td></tr>
    <tr><td class="paramname">Offset</td><td>is the flash data address to write to. </td></tr>
    <tr><td class="paramname">Length</td><td>is number of bytes to write. </td></tr>
    <tr><td class="paramname">SrcPtr</td><td>is the source address to write the data from. </td></tr>
    <tr><td class="paramname">UserSparePtr</td><td>is the user buffer which contains buffer to write into spare data area.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail.</li>
<li>XST_NAND_WRITE_PROTECTED if the flash is write protected.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function writes number of sequential pages into the Flash device. </dd></dl>

<p>References <a class="el" href="struct_x_nand_ps___geometry.html#a82dcd79f0e23602ab1fa79ee86ea9494">XNandPs_Geometry::BytesPerPage</a>, <a class="el" href="struct_x_nand_ps_tag.html#aba2da858e8dc13045862f0da98bd0c0b">XNandPsTag::DataBuf</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a9894e2b2ad34941cc39bb93eb47546ca">XNandPs_Geometry::DeviceSize</a>, <a class="el" href="struct_x_nand_ps_tag.html#ae87fd6bcc9622ee7d41abdbdaad61c35">XNandPsTag::Geometry</a>, <a class="el" href="struct_x_nand_ps_tag.html#aad4084a7b6b1ea6b1ec350dd22203e50">XNandPsTag::IsReady</a>, <a class="el" href="group__nandps__v2__2.html#ga7f3a46694f4b3c4baffca71e6fcfebab">Onfi_CmdReadStatus()</a>, <a class="el" href="group__nandps__v2__2.html#ga8be0ae53753ead584ac71c2898d5d9e3">ONFI_STATUS_WP</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975a917fd89fc6851edcf198f44f133ddf3a">PAGE_CACHE_PROGRAM</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975abe9758bc5df677605dcc22e1557c853a">PAGE_PROGRAM</a>, <a class="el" href="struct_x_nand_ps_tag.html#a25507ef0fe95e9b0b871e03e65731cba">XNandPsTag::SpareBufPtr</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a204fb8075fb5a30f2919280d923e6e25">XNandPs_Geometry::SpareBytesPerPage</a>, <a class="el" href="struct_x_nand_ps_tag.html#a0fdb4fa82248796a6a294cdbace8f114">XNandPsTag::WritePage</a>, <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>, and <a class="el" href="group__nandps__v2__2.html#gaebab330d0fd9efef74c26a50b5829d9f">XNandPs_Write()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa987d756af43c965a6439f077a4ce158"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNandPs_WriteSpareBytes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nandps__v2__2.html#gaf0def4ad29325b821b3fd4127740dfbe">XNandPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Page</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>Buf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>This function write to the spare area of a page. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the pointer to the XNandPs instance. </td></tr>
    <tr><td class="paramname">Page</td><td>is the page number to write. </td></tr>
    <tr><td class="paramname">Buf</td><td>is pointer to the buffer which holds the data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_nand_ps___geometry.html#a82dcd79f0e23602ab1fa79ee86ea9494">XNandPs_Geometry::BytesPerPage</a>, <a class="el" href="struct_x_nand_ps_tag.html#ab1b1e7e123f5de23692bb7f7f757061a">XNandPsTag::Config</a>, <a class="el" href="struct_x_nand_ps_tag.html#a4be19061947af26c314f86e19aa2b45c">XNandPsTag::DataPhaseAddr</a>, <a class="el" href="struct_x_nand_ps_tag.html#a91ba66b90e531f68b393e22dc1e6fab5">XNandPsTag::EccMode</a>, <a class="el" href="struct_x_nand_ps_tag.html#ae87fd6bcc9622ee7d41abdbdaad61c35">XNandPsTag::Geometry</a>, <a class="el" href="group__nandps__v2__2.html#ga7f3a46694f4b3c4baffca71e6fcfebab">Onfi_CmdReadStatus()</a>, <a class="el" href="group__nandps__v2__2.html#ga44013e5fb725c1b3233359b2fb14a4d3">ONFI_STATUS_FAIL</a>, <a class="el" href="group__nandps__v2__2.html#ggac876c6eb0d6c95869f0a68dccd44b975abe9758bc5df677605dcc22e1557c853a">PAGE_PROGRAM</a>, <a class="el" href="struct_x_nand_ps___config.html#a7fb228465433017747bbf8a9bd9601d7">XNandPs_Config::SmcBase</a>, <a class="el" href="struct_x_nand_ps___geometry.html#a204fb8075fb5a30f2919280d923e6e25">XNandPs_Geometry::SpareBytesPerPage</a>, <a class="el" href="group__nandps__v2__2.html#gaa5036c69cee2c0eea308d4fc74e7ffdc">XNANDPS_AXI_DATA_WIDTH</a>, <a class="el" href="group__nandps__v2__2.html#gae8e59d6704246c9a18cbc9ddf8990105">XNANDPS_CLR_CS</a>, <a class="el" href="group__nandps__v2__2.html#gga2318d7b320b74ae18f3b2b34beddd39ea16a7c41d3ba75cba9ee48a3ba8c4d579">XNANDPS_ECC_HW</a>, <a class="el" href="group__nandps__v2__2.html#ga0c56dde06594c0e2a7deac16d7291f4a">XNANDPS_MEMC_CLR_CONFIG_INT_CLR1_MASK</a>, <a class="el" href="group__nandps__v2__2.html#gaaaaf55b8085d1dcfcde3756a36c7ff41">XNANDPS_MEMC_CLR_CONFIG_OFFSET</a>, <a class="el" href="group__nandps__v2__2.html#gae2862ccd7e9180b843d9e73e2a8c7e7b">XNandPs_SendCommand()</a>, and <a class="el" href="xnandps__hw_8h.html#ac87bcc9e0fec61b2b02b9a434962e576">XNandPs_WriteReg</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="gae980af68044391bcf0c94bd2b35c910b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 NandOob16[] = {13, 14, 15}</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>Ecc position for 16 bytes spare area. </p>

</div>
</div>
<a class="anchor" id="gad8d144dd94afdb026486d7b34e6c58f1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 NandOob32[] = {26, 27, 28, 29, 30, 31}</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>Ecc position for 32 bytes spare area. </p>

</div>
</div>
<a class="anchor" id="gaed173a3e7bda0d3a84e8f7d55aa4e81d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 NandOob64[]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>
<b>Initial value:</b><div class="fragment"><div class="line">= {52, 53, 54, 55, 56, 57,</div>
<div class="line">                   58, 59, 60, 61, 62, 63}</div>
</div><!-- fragment -->
<p>Ecc position for 64 bytes spare area. </p>

</div>
</div>
<a class="anchor" id="ga6256f01deb0ca40af90a3b6ceb0aef94"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_nand_ps___command_format.html">XNandPs_CommandFormat</a> OnfiCommands[]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__onfi_8c.html">xnandps_onfi.c</a>&gt;</code></p>

<p>This structure defines the onfi command format sent to the flash. </p>
<p>ONFI commands. </p>

</div>
</div>
<a class="anchor" id="ga6256f01deb0ca40af90a3b6ceb0aef94"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_nand_ps___command_format.html">XNandPs_CommandFormat</a> OnfiCommands[]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps_8c.html">xnandps.c</a>&gt;</code></p>

<p>ONFI commands. </p>
<p>ONFI commands. </p>

</div>
</div>
<a class="anchor" id="ga9fda36b00c8235b40746d8a29361acdc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_nand_ps___config.html">XNandPs_Config</a> XNandPs_ConfigTable[]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__sinit_8c.html">xnandps_sinit.c</a>&gt;</code></p>

<p>This table contains configuration information for each System Monitor/ADC device in the system. </p>

</div>
</div>
<a class="anchor" id="gad3748e2cdbea09cf0311970db4fbf81c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_nand_ps___config.html">XNandPs_Config</a> XNandPs_ConfigTable[XPAR_XNANDPS_NUM_INSTANCES]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xnandps__g_8c.html">xnandps_g.c</a>&gt;</code></p>
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line">{</div>
<div class="line">        {</div>
<div class="line">                XPAR_XNANDPS_0_DEVICE_ID,       </div>
<div class="line">                XPAR_XPARPORTPS_CTRL_BASEADDR,  </div>
<div class="line">                XPAR_XNANDPS_0_BASEADDR,        </div>
<div class="line">                XPAR_XNANDPS_0_FLASH_WIDTH      </div>
<div class="line">        }</div>
<div class="line">}</div>
</div><!-- fragment -->
<p>This table contains configuration information for each System Monitor/ADC device in the system. </p>

</div>
</div>
</div><!-- contents -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Copyright &copy; 2015 Xilinx Inc. All rights reserved.</li>
  </ul>
</div>
</body>
</html>
